20220713 第二小组 罗大禹 学习笔记
JAVA
今日重点
- 基本数据类型
- 运算符
学习心得
- 今天老师上课讲的内容我觉得有些散,需要课后整理笔记时再次捋顺一遍。
- 有部分知识没有吸收完全,需要课后翻阅笔记、观看回放和问同学来进一步吸收
学习内容
1. Java的特点:(理解)
1、 面向对象(找一个人来帮我做)
2、跨平台:
平台就是操作系统。用Java写的软件可以在任意操作系统上运行。
.java一次编写(跨平台)-编译器
.class 多次运行(不跨平台)-解释器
3、简单性:
与C相比
4、解释执行:
计算机执行时先编译成.class,然后再解释执行.class
5、多线程:
可以多个任务同时进行
6、分布式
7、健壮性:
强数据类型的语言、异常处理、垃圾回收机制
8、安全性:
插件设置一个安全防范机制
2. Java注意事项(理解)
1、严格区分大小写
2、写代码时,一行代码要么用 ; 结束,要么写 {}
3、所有的符号都是英文状态下
4、代码提示,一定要注意看代码提示,若写的东西没有代码提示,多半是错的
5、idea有报错功能,如果发现写的代码有错误,就别运行了,出不来
6、代码要有缩进,可以用Tab
3. 类(理解)
什么是类?
类是Java开发中最小的一个单位,一个Java开发的项目是由一堆项目组成的。
标识符的命名规则:
在开发中,只要是可以命名的东西都叫标识符。
类名的命名规则:
只能由字母、数字、下划线、美元符号组成,数字不可以开头,其他的都可以。不建议使用$号,下划线尽量不要开头(而且不推荐使用下划线),推荐使用英文字母和数字,大部分使用字母,
驼峰式命名(大驼峰),如果这个类名有多个单词组成,每个单词的首字母大写
4. Java中的注释:(理解)
-
单行注释 //(ctrl+/)
-
多行注释 /* (ctrl+shift+/) */
-
文档注释 /**
* (/** + enter) */
三种注释都有调试代码
主方法快捷键:
1. psvm+enter
2. main+enter
打印输出快捷键
1. sout+enter
5. Java中的数据类型:(理解)
2种。基本数据类型,引用数据类型
基本数据类型:(关键字)
4类8种:会读,会写,知道啥意思
1、整型(要知道取值范围) :
- byte:字节型 -128~127 (256个数,中间有个0),占1个字节=8位
- short:短整型 -215~215-1 占2个字节=16位 2万多
- int:整型 -231~231-1 占4个字节=32位 4亿多
- long:长整型-263~263-1 占8个字节=64位 很大
2、浮点型
- float:单精度浮点型 4个字节=32位 取值范围很大,比long还大。(小数)
- double:双精度浮点型 8个字节=64位 取值范围很大,比long还大(小数)
3、字符型
- char:字符型 2个字节=16位 取值范围 0~255
4、布尔型:
- boolean :ture false 1个字节=8位 1位(1 0)
点击查看代码
public class Ch02 {
public static void main(String[] args) {
//整型
byte v1 = 10;
//短整型
short v2 = 20;
//整型
int v3 = 30;
//长整型
//使用长整型需要在值得后面加上一个L或l
long v4 = 50L;
//单精度类型
//使用float需要在值得后面加上一个F或f
float v5 = 3333333.3F;
//双精度浮点型
double v6 = 30000.00000;
//字符型
//字符型需要加单引号,单引号中只能放一个
char v7 = '1';
//布尔型
boolean v8 = true;
boolean v9 = false;
//打印
System.out.println(v1);
}
}
6. 变量:(理解)
定义变量:为了后期的维护,重复利用(复用)。
减少使用字面量。
7. 标识符,变量名的命名规则:(理解)
不能使用关键词命名。只能由字母、数字、下划线、美元符号组成,数字不可以开头,其他的都可以。不建议使用$号,下划线尽量不要开头(而且不推荐使用下划线),推荐使用英文字母和数字,大部分使用字母,
小驼峰 eg :stuNo(第一个单词首字母小写,之后的首字母全大写)。变量的值通过= 赋值,把等号右边的值通过等号赋值给等号左边的变量。
如果在程序中看见了一个整数(小数)的字面量,没有任何数据类型声明的话,它默认为int(double)
8. 运算符(理解)
1、算数运算符
+ - * / %
Java中的/除法,如果是两个整数相除,得到的一定是整数
整数和整数做运算,得到的一定是整数
Java中的+ - * / %,数据类型严格的语言
注意
精度:
整型:四种整数类型,精度是和位数挂钩,位数越大,精度越高
浮点型:double的精度比float要高
浮点型 比整型精度高
低精度和高精度进行运算,得到的一定是高精度的类型结果
为什么int类型的数据给byte给不了?
大给小,有一种可能是小的装不下,所以,大不能给小
数据类型的转换:
-
自动类型转换(自动类型提升)低精度->高精度 byte->int (OK)
-
强制类型转换 高精度->低精度。如果平白无故的想把低精度转成高精度,也需要强转。
a++ ,++a
无论a++还是++a,它的本意是让a自增1
没有a** a// a%%
点击查看代码
public class Ch04 {
public static void main(String[] args) {
byte b = 127;
b = (byte) (b - 1);
System.out.println(b);
double d = 1.1;
int n = (int) d;
System.out.println(n);
int i1 =10;
int i2 =20;
System.out.println((double)i1/i2);
}
}
+= -= *= /= %=
赋值运算符可以进行数据类型的转换,包括a++也可以
从计算结果来看,a+=1 ——>a=a+1
a++和++a的区别
a++:表示先赋值后运算
++a:先运算后赋值
点击查看代码
public class Ch05 {
public static void main(String[] args) {
int a =10;
/*
* a++=10
* a=11
* ++a = 12
* a=12
* a++=12
* a=13
* */
System.out.println(a++ + ++a + a++ + a);
/*
* a++:表示先赋值
* ++a:表示先运算,后赋值
* */
}
}
输出结果均为boolean类型
> < >= <= == !=
没有 ===
其余可见7.11JavaScript
4、逻辑运算符
与(&):只有当所有条件都为true,整体的结果才是ture,如果有一个为false,则整体为false
双与(短路与&&):当发现条件中,只要有一个false,则停止判断(效率更高)
但与(&):无论有多少个false,所有的条件都看
或(||):只有当所有条件都为false,整体的结果才是false,如果有一个为ture,则整体为ture
双或(短路或)和单或同双与和单与
非(!):取反
异或(^):有假有真即为真,全真全假即为假
5、位运算符
点击查看代码
public class Ch05 {
public static void main(String[] args) {
int x = -2;
// <<左移3位
// System.out.println(2 << 3);
// >>右移3位
// System.out.println(5 >> 1);
// >>>无符号右移:将运算符左边的对象向右移指定的位数。采用0的扩展机制,不考虑符号
System.out.println(x >>> 1);
}
}
6、三元运算符(三目运算符)
要求两个表达式的运行结果的数据类型是相同或可以自动转换成相同的数据类型。
·Java里的三元运算符要求:要求两个表达式的运行结果的数据类型是相同或可以自动转换成相同的数据类型
9. char的特殊性(理解)
映射表 :ASCII码
字符型 abcdefg每一个字符在计算机保存时都是以ASC码的形式
char类型是16位的,跟short是一样的,可以自动转换成int long float
当char自动转换成数值类型时,会对应着ASCII码去转换
把整数类型转换成char类型时,会对应着ASCII码去转换
由于char类型有这样的特殊性,开发中尽量不要用char
“+”有连接符的功能