JAVA学习笔记
- 1学习易错点:
- 2学习内容:
- 3具体知识点:
- 1.驼峰命名法:
- 2.数据类型转换
- 3.算术运算
- 022.自增自减运算符
- 023 关系运算符
- 024 逻辑运算符
- 025 短路逻辑运算符
- 026 三元运算符
- 027
- 028
- 029 数据输入(以前完全不会)
- 030
- 031 顺序结构
- 032 if结构1
- 033 if结构
- 034
- 035 if.else.if
- 036 practice
- 037 switch结构
- 038 practice
- 039 for循环
- 040 practice
- 041practice
- 042practice
- 043 practice
- 044
- 045 while结构
- 046
- 047 do...while循环
- 048
- 049 跳转控制语句
- 050 随机数获取Random
- 051
- 052
- 053
- 054
1学习易错点:
1.变量使用:Java中默认整形为int,浮点类型为double。因此要注意加后缀。如图1.1:
如果不加后缀L,虽然定义是long,但程序默认是int,会报错。
同理如图1.2:
如果不加上F,运行会提示图1.3:
2.整形相除只能得到整数,如果想得到小数,比如有浮点数参与运算
int a = 6;
int b = 4;
System.out.println(a/b);
结果为1
3.i+=5与i=i+5的区别
在i为int形时两者没有任何区别,但当int为shor类型时候i=i+5会报错,因为5是int形式,但是i+=5不会报错,因此i+=5这句程序中隐含了强制类型转换的操作。所以尽量就用i+=5这样的写法。除了有+之外还有-,*,/,%
3. java中想写死循环应该是while(true),写while(1)会报错int无法转换为布尔值。
2学习内容:
JAVA基础课 JAVA基础课:01-
2、 掌握 Java 基本语法
3、 掌握条件语句
4、 掌握循环语句
3具体知识点:
1.驼峰命名法:
2.数据类型转换
(1)自动转换
箭头方向都是可以由程序自动转换的,注意char与short占据相同的2字节,但是不能相互自动转换。 个人:就是根据bit数由小到大转换。char字节数=short=2。如果反着转换,如 一个byte形的a和一个char形的b,写 a = b,则提示与图1.3类似。
(2)强制类型转换
范例如下代码块所示
public class cons{
public static void main(String[] args){
int k;
k = (int)88.8;//强制转换格式
System.out.println(k);
}
}
最终程序输出k=88;有损失。
3.算术运算
(1)加法:在加法运算中short+int答案为int形。即会自动提升答案的数据类型。
short k;
k = 6;
char c ='a';
short b = c + k;
运行提示:错误: 不兼容的类型: 从int转换到short可能会有损失
short b = c + k;
表明char+ short最后结果为int形
与字符不同的是:字符串的相加就是将字符串拼接起来。如图3.4 char+
第一个红点输出为itheima666,需要注意的是:第二个红点输出为100年黑马,因为从左到右执行时,遇到的先是1+99,没有遇到字符串,所以会先执行加的操作,再遇到+“年黑马”,此时执行连接操作。 同时区别“a” != ‘a’,一个是字符串,一个是字符,在加法运算时表现不同,不可以相提并论
从以后开始,为方便复习查找,序号保持与视频序号一致
022.自增自减运算符
例如:
`int i,j,k;
i=10;
j=i++;
//运行结果j=10
i=10;
k=++i;
//运行结果k=11
023 关系运算符
(注意输出为布尔值而不是1或0)。如果==写成了=:
前两行程序输出为true/false,最后一行输出为一个数。
024 逻辑运算符
注意异或的符号
025 短路逻辑运算符
&&和&的区别如下:
&,&&:(与,短路与):一样的地方就是二者执行最后的结果是一样的,但是执行的过程有区别,
对于&:无论&左边是否为false,他都会继续检验右边的boolean值。
对于&&:只要检测到左边Boolean值为false时,就会直接判断结果,不会在检验右边的值(因为"与"有一个false最后结果就是false了)
所以&&的执行效率更高,所以一般都是使用&&.
|与||之间也是同样的道理,|:无论左边是否为ture,都会检验右边 ,||:则不会。|| 的执行效率会更高
026 三元运算符
不仅限于>,其他关系运算符也可以使用。
027
对26的应用
028
对26的应用
029 数据输入(以前完全不会)
流程:导包,创建对象,输入数据。如果要多次录入不用重新创建对象,多次写接受数据的语句即可。如:
import java.util.Scaner;
public class ScannerTest{
public static void main(String[] args){
Scanner kk = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
}
}
030
29的应用
031 顺序结构
032 if结构1
与c相同
033 if结构
与c相同
034
奇偶数判断
035 if.else.if
与c相同
036 practice
在程序设计时必须进行数据测试:正确数据,边界数据,错误数据;
037 switch结构
与c语言类似,最后的break的括号表示可加可不加break。新学的的是:default。switch小括号后也有大括号。
注意字符串也可以进行switch的比较
038 practice
在进行switch结构判断的,新学了一种case穿透的写法,即故意不写break,利用switch特性简化程序。如:
039 for循环
与c相同
040 practice
041practice
042practice
043 practice
新学:对任意数字的制定位置上的数值如何求:如123456789怎么取出5。
两种方式:①先除以10000得到12345,在对10取余即可
②先对100000取余,得到56789,然后除以10000即可得到5.
综上方法②过于麻烦,因此固定取数先除以10的n次幂使得要取的数在最后一位,再对10取余即可,先除后取余。
044
045 while结构
与c相同。
while循环可以与for循环互换,如果不知道循环次数,那么使用while循环更合适
046
047 do…while循环
与c相同。
048
049 跳转控制语句
新学的:continue跳过此次循环剩下部分。break直接终止循环/跳出循环。循环:for,while,do…while。if不是循环。
050 随机数获取Random
步骤:与录入数据相似,都是:导包,创建对象,获取数据。
随机数默认0-x,当想取得的范围是5-15时,使用 n = 变量名.nextInt(10)+5。
import java.util.Random;
public class cons{
public static void main(String[] args){
Random kk = new Random();
double n = kk.nextInt(50);
System.out.println(n);
}
}
注意:① n = kk.nextInt(50); 此处必须是整形,写50.3会报错。
② 与Scanner类似,如果要重复获取随机数,只需要重复写n = kk.nextInt(50);即可,不用重新创建对象