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:

JavaSE笔记 java笔记完整版_JavaSE笔记


如果不加后缀L,虽然定义是long,但程序默认是int,会报错。

同理如图1.2:

JavaSE笔记 java笔记完整版_JavaSE笔记_02


如果不加上F,运行会提示图1.3:

JavaSE笔记 java笔记完整版_JavaSE笔记_03


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.驼峰命名法:

JavaSE笔记 java笔记完整版_java_04

2.数据类型转换

(1)自动转换

JavaSE笔记 java笔记完整版_java_05


箭头方向都是可以由程序自动转换的,注意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形。即会自动提升答案的数据类型。

JavaSE笔记 java笔记完整版_JavaSE笔记_06

short k;
		k = 6;
		char c ='a';
		short b = c + k;
运行提示:错误: 不兼容的类型: 从int转换到short可能会有损失
                short b = c + k;
    表明char+ short最后结果为int形

与字符不同的是:字符串的相加就是将字符串拼接起来。如图3.4 char+

JavaSE笔记 java笔记完整版_java_07


第一个红点输出为itheima666,需要注意的是:第二个红点输出为100年黑马,因为从左到右执行时,遇到的先是1+99,没有遇到字符串,所以会先执行加的操作,再遇到+“年黑马”,此时执行连接操作。 同时区别“a” != ‘a’,一个是字符串,一个是字符,在加法运算时表现不同,不可以相提并论

从以后开始,为方便复习查找,序号保持与视频序号一致

022.自增自减运算符

JavaSE笔记 java笔记完整版_逻辑运算符_08

例如:

`int i,j,k;
i=10;
j=i++;
//运行结果j=10
i=10;
k=++i;
//运行结果k=11

023 关系运算符

JavaSE笔记 java笔记完整版_java_09


(注意输出为布尔值而不是1或0)。如果==写成了=:

JavaSE笔记 java笔记完整版_JavaSE笔记_10


前两行程序输出为true/false,最后一行输出为一个数。

024 逻辑运算符

JavaSE笔记 java笔记完整版_JavaSE笔记_11


注意异或的符号

025 短路逻辑运算符

&&和&的区别如下:
&,&&:(与,短路与):一样的地方就是二者执行最后的结果是一样的,但是执行的过程有区别,

对于&:无论&左边是否为false,他都会继续检验右边的boolean值。

对于&&:只要检测到左边Boolean值为false时,就会直接判断结果,不会在检验右边的值(因为"与"有一个false最后结果就是false了)

所以&&的执行效率更高,所以一般都是使用&&.

|与||之间也是同样的道理,|:无论左边是否为ture,都会检验右边 ,||:则不会。|| 的执行效率会更高

026 三元运算符

JavaSE笔记 java笔记完整版_java_12


不仅限于>,其他关系运算符也可以使用。

027

对26的应用

028

对26的应用

029 数据输入(以前完全不会)

JavaSE笔记 java笔记完整版_字符串_13


流程:导包,创建对象,输入数据。如果要多次录入不用重新创建对象,多次写接受数据的语句即可。如:

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 顺序结构

JavaSE笔记 java笔记完整版_逻辑运算符_14

032 if结构1

JavaSE笔记 java笔记完整版_java_15


与c相同

033 if结构

JavaSE笔记 java笔记完整版_JavaSE笔记_16


与c相同

034

奇偶数判断

035 if.else.if

JavaSE笔记 java笔记完整版_字符串_17


与c相同

036 practice

在程序设计时必须进行数据测试:正确数据,边界数据,错误数据;

037 switch结构

JavaSE笔记 java笔记完整版_JavaSE笔记_18


与c语言类似,最后的break的括号表示可加可不加break。新学的的是:default。switch小括号后也有大括号

JavaSE笔记 java笔记完整版_字符串_19


注意字符串也可以进行switch的比较

038 practice

在进行switch结构判断的,新学了一种case穿透的写法,即故意不写break,利用switch特性简化程序。如:

JavaSE笔记 java笔记完整版_数据_20

039 for循环

JavaSE笔记 java笔记完整版_JavaSE笔记_21


与c相同

040 practice

041practice

042practice

043 practice

新学:对任意数字的制定位置上的数值如何求:如123456789怎么取出5。
两种方式:①先除以10000得到12345,在对10取余即可
②先对100000取余,得到56789,然后除以10000即可得到5.
综上方法②过于麻烦,因此固定取数先除以10的n次幂使得要取的数在最后一位,再对10取余即可,先除后取余。

044

045 while结构

JavaSE笔记 java笔记完整版_数据_22


与c相同。

while循环可以与for循环互换,如果不知道循环次数,那么使用while循环更合适

046

047 do…while循环

JavaSE笔记 java笔记完整版_字符串_23


与c相同。

048

049 跳转控制语句

新学的:continue跳过此次循环剩下部分。break直接终止循环/跳出循环。循环:for,while,do…while。if不是循环。

050 随机数获取Random

步骤:与录入数据相似,都是:导包,创建对象,获取数据。

JavaSE笔记 java笔记完整版_java_24


随机数默认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);即可,不用重新创建对象

051

052

053

054