第二天目标
目录
-
掌握变量的定义和使用
变量:变量就是内存中的存储空间,空间中存储着经常发生改变的数据
定义方法: 数据类型 变量名 (例:int a)
变量的使用:
int a = 10;//再此行之后变量 a 的值就是10
注:
1.一条语句可以定义多个变量,用逗号分隔开即可。 int a,b,c; 2.变量不能重复定义 int a;//在此行之后不能再定义 a int a; 3.变量在使用之前必须赋值 4.变量的作用域
-
能够使用 Debug 工具查看程序的执行流程
选中断点可以使程序只运行到断点处。
上图所示代码只运行到第行。
-
能够使用 Scanner 从键盘录入数据
三个步骤:
1. import java.util.Scanner;
导入Scanner:这一步相当于得到了一个咒语。
2. Scanner sc = new Scanner(System.in);
这一步相当于召唤你的精灵。精灵的名字叫做 sc 。(其中“精灵的名字”可以自己定义)
3. sc.next();
这一步是指挥你的精灵工作。
输入字符或字符串 sc.next();
输入整数 sc.nextInt();
以此类推
...............................
-
清楚算数运算符中 / % 的特点
/ :除以 %:取余
整数和整数相除只能得到整数,必须加上小数才可以得到小数,例:
public static void main(String[] args) {
System.out.println(5 / 2);
System.out.println(5.0 / 2);
System.out.println(5 / 2.0);
System.out.println(5.0 / 2.0);
}
输出结果是:2,2.5,2.5,2.5
关于取余一个简单的例子:输入一个数输出它的个位,十位,百位,... 。
输入一个数,求出它的个位,十位,百位。
个位:% 10
十位:/ 10 % 10
百位:/ 10 / 10 % 10
千位:/ 10 / 10 / 10 % 10
..........................
其中最高值可以简化处理:
十位:/10
百位:/100
千位:/1000
..........................
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数:");
int num = sc.nextInt();
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num /10 /10 % 10;
System.out.println(num+"的百位:"+bai);
System.out.println(num+"的十位:"+shi);
System.out.println(num+"的个位:"+ge);
}
-
掌握 Java 中的字符串拼接操作
字符串的拼接就像贪吃蛇一样,前面的拼接后面的会形成一个整体。例:
//下面输出的是5+5=55,因为前面的字符串先和5拼接形成一个整体后在和另一个5拼接
System.out.println("5+5="+5+5);
System.out.println("5+5="+(5+5)); //输出的才是5+5=10
System.out.println(1+1+“个人”); //输出的是2个人,1+1先运算在拼接“个人”
-
清楚自增自减运算符在前在后的区别
a++ 与 ++a : a的基础上+1
a++是先操作,后自增。
++a是先自增,后操作。
-
清楚隐式转换和强制转换
各数据类型的取值范围排序:
byte -> short -> int -> long -> float -> double
注:小数的存储比整数更省空间。
1. 隐式转换:取值范围小的向取值范围大的转换。
例: 2 + 2.0 = 5.0
注:byte , short , char 做运算的时候都会转成 int 类型。
2. 强制转换:取值范围大的向取值范围小的转换
例:doubie a = 130.2;
int b = (int)a;// b的值就为130,丢失了0.2
注:已知 byte 类型的取值范围是 -128 ~ 127
假如 int a = 130;
byte b = (byte) a;// b的值是 -126
为什么会是-126呢?因为计算机内部的运算都是由补码进行运算的。
-
了解原码反码补码
一个字节是由8位二进制数构成。byte 占一个字节,int 占四个字节。
原码,反码和补码的关系:
原码:第一位是0代表正数,是1代表负数。
反码:正数反码等于原码,负数除第一位外,全部位取反。
补码:正数与原码一样,负数是反码加一。
int 类型 130用二进制表示(4个字节共32位):
0000 0000 0000 0000 0000 0000 1000 0010(第一位是0代表正数,因为正数补码和原码一样)
转为byte之后(1个字节共8位):
1000 0010(第一位是1代表负数,所以要转位补码)
转为补码(除符号位外全部取反再+1)
1111 1101 + 0000 0001 = 1111 1110 -> -126(第一位是符号不变)
补码转完后换成十进制为 -126