java课堂笔记全部基础知识文档格式.docx
《java课堂笔记全部基础知识文档格式.docx》由会员分享,可在线阅读,更多相关《java课堂笔记全部基础知识文档格式.docx(38页珍藏版)》请在冰豆网上搜索。
System.out.println("
5"
+3);
六、Scanner的使用,接收用户键盘输入
Scanner
importjava.util.Scanner;
Scannerinput=newScanner(System.in);
input.next();
(相关方法,nextDouble()、nextFloat()、nextInt(等)
bin:
exe
jre
lib
src.zip
(二)数据类型
一、数据类型转换
自动类型转换:
intnum=100;
doubleb=num;
强制类型转换
doublenum=100.9;
intb=(int)num;
二、运算符
赋值运算符=
算数运算符+-*/%++--
+=-=*=/=%=
关系运算符>
<
>
=<
===!
=
逻辑运算符&
&
||!
条件运算符?
:
了解优先级即可
三、流程控制
1、if:
基本if
if-else
多重if
嵌套if
注意:
条件是boolean值
常见错误:
if(num=5){
}else{
}
大括号不省略
多重if顺序问题
流程图的使用和问题的分析解决过程
2、switch
等值比较
(1)语法上的常见错误
(2)和多重if的异同
循环结构:
解决重复性的操作
简介高效
(三)循环结构
一:
循环:
(1)while循环
while(条件){
操作
循环变量迭代
代码缩进
循环能否正常退出
(2)do-while循环
do{
循环
}while(条件);
和while的区别:
语法上、执行上(至少执行一次)
(3)for循环
for(变量初始化;
条件;
变量迭代){
循环操作
}
执行顺序
循环变量可以有多个
二、双重循环
双重循环的特点:
外层循环进入一次,内层循环就要完整的执行一遍
特点:
外执行一次
内执行一轮
双重循环次数:
外层循环次数*内层循环的次数
实现的重点:
(1)确定谁做外层循环,确定谁做内层循环
(2)两层循环变量有没有规律性的关系
1、打印图形:
找规律
矩形
行i外层星星j内层
15
25
35
45
55
平行四边形
行i外层内层:
空格星星
14=5-i5
23=5-i5
32=5-i5
41=5-i5
50=5-i5
等腰三角形
14=5-i1=2*i-1
23=5-i3=2*i-1
32=5-i5=2*i-1
41=5-i7=2*i-1
50=5-i9=2*i-1
2、打印九九乘法表
行i(1-9)第一个操作数i第二个操作数(从1到i)
三:
循环应用
1、分析需求:
重复做一件事情
前提条件(循环进入的条件)
做什么事情(循环操作)
2、用代码解释
选择一种合适的循环结构
while
do-while
for
根据所选择的结构套用语法
while(条件){
}
do{
}while(条件);
for(循环变量初始化;
迭代){
3、容易出错的点
(1)变量在何处声明
例1:
计算5门课平均成绩
例2:
for(inti=0;
i<
=6;
i++){
System.out.println(i);
intj=i;
System.out.println(j);
(2)没有适当的(合适的)跳出循环
根本跳不出来
根本进不去循环
多或少循环了一次
四、循环的跳转
break:
跳出整个循环
continue:
跳出本次循环,进入下次循环
return:
结束方法(了解即可)
五、程序调试
设置断点
Debug->
单步运行F5F6
观察变量
(三)数组
一、数组
1、数组的基本使用
(1)数组的作用
一组相同数据类型的数
数组也是变量,内存中一串连续的空间
(2)数组的几个基本概念
标识符(数组名字)
元素
下标:
从0开始
数据类型
数组的长度(数组名字.length)
(3)数组使用步骤
声明数组
int[]num;
intnum[];
分配空间
num=newint[8];
赋值
处理数据
int[]num={5,8,7};
int[]num=newint[]{5,8,7};
(4)循环和数组结合的使用
下标(0-数组.length-1)
遍历时两种方法:
方法一:
传统for
方法二:
//增强型for(foreach)
for(intscore:
scores){
sum+=score;
二、回顾数组
变量,内存中一串连续的空间
相同数据类型的一组数据
数组的基本概念
数据类型(数组类型)
下标(0,数组.length-1)
数组的长度:
数组.length
数组的基本使用
声明数组(类型[]数组名称或类型数组名称[])
分配空间(数组名称=new数据类型[5];
)
赋值(num[0]=;
处理数据
变量:
基本数据类型
int、double、float、char、boolean
引用数据类型
String、数组
内存分布不同
使用上不同.
三、数组的典型使用
1、求最大值、最小值(打擂台)
2、插入算法(找位置)
3、冒泡排序
数组存储5个数字
下标:
01234
外层循环内层循环
i:
0第一轮+j比较次数:
4=4:
length-1
1第二轮+j比较次数:
3=4:
2第三轮+j比较次数:
2=4:
3第四轮+j比较次数:
1=4:
i+j=数组.length-1
j=数组.length-1-i
共比较几次?
5个数字:
4+3+2+1=10
6个数字:
5+4+3+2+1=15
7个数字:
6+5+4+3+2+1=21
n个数字:
(n-1)+(n-2)+(n-3)+.....+1=n*(n-1)/2
4、Arrays类的使用
常用方法:
sort()
.....
记得查API帮助文档(帮助文档已经在网盘中提供了,如果大家在Oracle官网中没有下载,可以找中心的技术顾问老师提供网盘用户名和密码,登录后拿到帮助文档)
数据类型
intdoublecharboolean。
。
数组
String
四:
学习目标
二维数组
了解即可
存放数组的数组
会画内存分布
五:
项目:
DVD管理器
(a)需求了解是前提
(b)分析:
(1)数据主体:
DVD。
多个DVD数组
每个DVD有多方面属性几个数组
(2)分析具体的每个功能:
整体主菜单选择?
选择结构(switch)
重复做主菜单的选择?
循环结构(do-while)
(3)对几个数组进行操作
新增DVD
确定在哪个位置加?
name为空的第一个位置
一系列"
加"
的操作:
name、state
查看DVD
遍历数组,输出信息的过程
输出非空的数组元素信息(if、break)
删除DVD
在非空的数组元素基础上进行以下操作:
获取用户输入
根据不同情况进行相应的删除处理(分支)
有,但是借出去了
有,没有借出去
可以删
一系列“删”的过程
没有
借出DVD
根据不同情况进行相应的借出处理(分支)
可以借
一系列“借”的过程:
state、date、count
归还DVD
DVD名称
归还日期
判断
计算租金
退出DVD
整个程序的整体的流程控制
(c)确定开发顺序
初始化数据(已完成)
新增(已完成)
查看(已完成)
删除(已完成)
借出
归还
退出(程序整个流程控制)(已完成)
(d)程序出错了怎么办?
*:
学着看程序的报错(异常)信息
经常出现的异常名称,大家要留意,尽量记住
根据异常提示的行号定位代码
不一定是改行代码的错误,有可能是之前代码导致改行出错
程序调试(DEBUG)-->
解决错误
你想不到的流程问题(或者:
写一些输出语句)
六、整体项目回顾:
知识(技能点):
运算符(赋值运算符、算数运算符、逻辑运算符、条件运算符、关系运算符)
流程控制(顺序、分支(if(多重if)、switch)、循环、break)
数组(多个数组:
下标)
能力:
遇到问题后的整体思路搭建的能力
分析需求
快速使用代码实现思路的能力
速度
准确度
代码测试或者调试的能力
排错的速度、排错的方法、准确度
代码规范性的能力
代码格式:
缩进、对齐
变量命名规范
类名:
帕斯卡命名规则
变量:
驼峰命名规则
命名有意义
沟通、表达、团队合作能力
(四)面对对象
面向对象
1、面向对象
对象:
具体的实体
属性(特征)
方法(操作)
二:
类和对象
2、类和对象
类是一组具有相同属性和方法的对象的集合
类是对象的抽象,对象是类的实例(具体)
3、Java中的类:
class
它是一种自定义的数据类型(引用数据类型)
publicclassScanner{
.......
Scannerinput=newScanner(System.in);
publicclass类名{//类名:
//属性成员变量
//方法成员方法
4、使用类来创建对象:
类名对象名=new类名();