黑马程序员技术交流社区
标题:
【石家庄校区】基础学习六日总结
[打印本页]
作者:
石家庄付天恩
时间:
2017-11-29 17:55
标题:
【石家庄校区】基础学习六日总结
本帖最后由 小石姐姐 于 2017-11-30 09:41 编辑
day01
常量
字符串常量: "hello"
字符常量: 'a'
整数常量: 12
小数常量: 12.23
布尔常量: true, false
空常量: null
变量
变量是内存中的一块区域, 保存着一个值.
变量的定义格式: 数据类型 变量名 = 初始化值;
变量的数据类型:
基本数据类型 字节数
整数 byte 1
short 2
int 4
long 8
小数 float 4
double 8
字符 char 2
布尔 boolean 1
注意:整数默认int类型, 浮点数默认double类型
所以long类型要加L, float类型要加F
long l = 10L;float f = 1.0F;
变量定义的注意事项:
变量未赋值时不能使用
如:int a =10;
System.out.println(a);
变量只在它所属的范围(所在的大括号)内有效
如:{
int a = 10;
}
System.out.println(a);
一行上可以定义多个变量, 但是不建议这样做 int a = 10,b=20;
数据类型转换:
隐式转换:
byte, short, char --> int --> long --> float --> double
强制转换:
目标类型 变量名 = (目标类型) (被转换的变量);
int a = (int) 1.3;
byte,short,char进行运算时,会转为int
day02
使用eclipse开发:
java project -- package -- class
运算符
A.算数运算符
+,-,*,/,%,++,--
+:字符串参加加法 : 拼接
字符参与加法 : 字符对应的ASCII码参与运算
/:就是两个数相除后的商, 5 / 3.0 = 1
%:就是两个数相除后的余数, 5 % 3 = 2
++
i++:先去i的值,后对i进行+1
++i:先对i+1,再用i的值
B.赋值运算符
基本赋值运算符:int a = 10;//与==区分开
扩展赋值运算符:+=,-=,*=,/=,%=
注意: 扩展赋值运算符隐含了强制类型转换
a += 10; 相当于 a = (a的类型)(a + 10);
C.关系运算符
==,!=,<,<=,>,>=
关系运算符的结果是boolean类型
D.逻辑运算符
&,|,!,^,&&,||
注意:&和&&的区别,&&有短路效果,只要左边是false, 则不判断右边, 直接false
if(i++>10 && j--<10)
|和||的区别,||有短路效果,只要左边是true, 则不判断右边, 直接true
E.三元运算符
关系表达式? 表达式1 : 表达式2;
三元运算符是有返回值的,需要一个变量来接收返回值
String result = (i%2==0)?"偶数":"奇数";
int max = (a>b)?a:b;
键盘录入
步骤:
a.导包 import java.util.Scanner;
b.创建Scanner对象: Scanner sc = new Scanner(System.in);
c.接收键盘输入数据: int i = sc.nextInt();
day03
选择结构
if语句:三种格式
if (关系表达式) {
语句体
}
if(关系表达式) {
语句体1
} else {
语句体2
}
if(关系表达式1) {
语句体1
} else if (关系表达式2) {
语句体2
}...{
} else { // else {} 是可选的
语句体n
}
switch语句
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
....
default:
语句体 n+1;
break;
}
循环控制语句
for循环:
for(初始化语句; 判断条件语句; 控制条件语句) { 循环体语句; }
while循环:
while(判断条件语句) { 循环体语句; }
do...while循环:
do { 循环体语句; } while(判断条件语句);
循环控制语句
break: 直接结束循环, 或switch语句
continue: 结束本次循环, 继续执行下一次.
day04
Random类:用于产生一个随机数
使用步骤
a.导包: import java.util.Random;
b.创建对象: Random r = new Random();
c.获取随机数: int number = r.nextInt(10);
注意:nextInt(y)表示产生的数据在0到y之间, 包括0, 但不包括y
数组
数组是存储同一种数据类型的多个元素的容器.
两种定义格式:
a.数据类型[] 数组名;: int[] arr;
b.数据类型 数组名[];: int arr[];
两种初始化方式:
a.动态初始化:
初始化时只指定数组长度,由系统为数组分配初始值
int[] arr = new int[3];
b.静态初始化:
初始化时指定每个数组元素的初始值,由系统决定数组长度
int[] arr = {1,2,3};
数组元素的访问
一维数组的访问
数组的两个常见异常
ArrayIndexOutOfBoundsException: 数组索引越界异常
NullPointerException: 空指针异常
数组的常见操作:
遍历数组
获取数组中的最值
day5
方法:
其实就是完成特定功能的代码块
定义格式:
修饰符 返回值类型 方法名 (参数类型 参数名1, 参数类型 参数名2..){
方法体
return 返回值;
}
写一个方法有两个明确:
A:返回值类型 (如果没有返回值类型,使用void代替)
B:参数列表
方法的调用:
有明确返回值的方法调用
A:单独调用,没有意义(void 方法只能单独调用)
B:输出调用,有意义. syso/ (sum(1,2))
C:赋值调用 int result =sum(10,20).
方法重载
:在同一个类中,出现了方法名相同的情况.
特点:
方法名相同,:
参数列表不同:.参数个数不同,参数定义的类型不同
注意:在调用方法的时候,java虚拟机会通过参数列表的不同来区别
day6
Eclipse的断点调试可以查看程序的执行流程和解决程序中的bug
A:什么是断点:
就是一个标记,从哪里开始。
B:如何设置断点:
你想看哪里的程序,你就在那个有效程序的左边双击即可。
C:在哪里设置断点:
哪里不会点哪里。
目前:我们就在每个方法的第一条有效语句上都加。
D:如何运行设置断点后的程序:
右键 -- Debug as -- Java Application
E:看哪些地方:
Debug:断点测试的地方
在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。
Variables:查看程序的变量变化
ForDemo:被查看的源文件
Console:控制台
F:如何去断点:
再次双击即可
找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2