今日重点

  • java
  • idea
  • 数据类型
  • 数据类型的转换
  • 运算符

进程概况

【√代表掌握了,-代表产生困惑但已解决,×代表没解决】
  • 讲解java相关(版本,特点,环境搭建)【√】
  • java显示“hello2022”【√】
  • 讲解基本数据类型(四类八种)【√】
  • 数据做运算【√】
  • 基本数据类型的转换【√】
  • a++与++a【-】
  • 比较运算符【√】
  • 逻辑运算符【√】
  • 位运算符【√】
  • 练习:三元运算符求最大值【-】
  • char的特殊性【√】

注解知识点

按讲解顺序
  • java编写注意事项:
  1. Java是严格区分大小写Hello hello
  2. 写代码的时候,一行代码要么用;结束,要么写{}
  3. 所有的符号都是英文状态下
  4. 代码提示,一定要注意看代码提示。如果你写的东西没有提示,多半是错的。
  5. idea有报错功能,如果你发现你写的代码有错误,就别运
  6. 行了。
  • 类是Java开发中的一个最小的单位,一个Java开发的项目是由一堆类组成的class
  • 标识符的命名规则:
    在开发中,只要是可以命名的东西,标识符。
  • (类名就是标识符的一种)类名的命名规则:
    只能由字母,数字,下划线,美元符号组成。数字不能开头。不建议使用$号,下划线尽量不要开头,推荐使用英文字母和数字,大部分都是使用字母(英文单词),驼峰式命名,如果这个类名由多个单词组成,每个单词的首字母大写。
  • Java中的注释
  1. 单行注释 //
  2. 多行注释 /* */
  3. 文档注释 /** */
    三种注释都有调试代码的功能
  • 主方法:是一个程序运行的入口
  • 关键字:这个字有它独一无二的作用

abstract、assert、boolean、break、byte、case、catch、charclass、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、shortstatic、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while
(48个关键字、2个保留字goto、const、3个特殊直接量true、false、null)

  • 基本数据类型及其取值范围

1.整型
byte:字节型 -128~127 1个字节=8位
byte v1 = 127;
short:短整型 -215~215-1 2个字节=16位 2万多
short v2 = 20;
int:整型 -231~231-1 4个字节=32位 4亿多
int v3 = 300000000;
long:长整型 -263~263-1 8个字节=64位 很大(使用长整型需要在值得后面加上一个L或l)
long v4 = 30000000000000L;
2.浮点型
float:单精度浮点型 4个字节=32位。很大,比long还大。小数(使用float需要在值得后面加上一个F或f)
float v5 = 5.5654657987987987987987987987F;
double:双精度浮点型 8个字节=64位。很大,比long还大。小数
double v6 = 5.6;
3.字符型
char:字符型 2个字节=16位 0~255(字符型需要加单引号,并且引号中只能放一个)
char v7 = '你';
4.布尔型 boolean,true,false 1个字节=8位 1位1 0
boolean v8 = true; boolean v9 = false;

  • 标识符,变量名的命名规则:
    小驼峰stuNo。变量的值通过=赋值,把等号右边的值通过等号赋值给等号左边的变量。
  • 定义变量要明确数据类型。
  • 在程序中看见了一个整数的字面量,没有任何数据类型声明的话,它默认是int
    在程序中看见了一个小数的字面量,没有任何数据类型声明的话,它默认是doubl
  • 整数整数做运算,得到的一定是整数
  • 精度:
    整型:4种整数类型,精度是和位数挂钩,位数越大,精度越高
    浮点型:double的精度比float要高
    浮点型 > 整型
  • 低精度高精度的做计算,得到的一定是高精度数据类型的结果。
  • 基本数据类型的转换:

1.自动类型转换(自动类型提升)低精度->高精度

byte b = 127;
int i = b;
double d = b;
b = (byte)(b + 2);
System.out.println(b);
double d = 1.9;
int x = (int)d;
System.out.println(x);

2.强制类型转换 高精度->低精度。如果平白无故的想把低精度转成高精度,也是得强转。

int i1 = 10;
int i2 = 20;
System.out.println((double)i1 / i2);
  • a++与++a
int a = 10;
System.out.println(a++);
//结果为10
int a = 10;
System.out.println(++a);
//结果为11
int a = 10;
System.out.println(a++ + ++a + a++ + a);
//结果为47
/*
        * a++ = 10
        * a = 11
        * ++a = 12
        * a = 12
        * a++ = 12
        * a = 13
        * 10 + 12 + 12 + 13
        * */
  • a++:表示先赋值后运算
    ++a:先运算后赋值
  • 赋值运算符可以进行数据类型转换,包括a++也可以
  • 逻辑运算符

与:只有当所有条件都为true,整体的结果才是true。如果有一个为false,则整体即为false
双与:当发现条件中,只要有一个false,则停止判断。(效率高
单与:无论有多少个false,所有的条件都看。
或:只有当所有条件都为false,整体的结果才是false。如果有一个为true,则整体即为true
双或和单或同双与单与
非:取反
异或:有假有真即为真,全真全假即为假

  • 位运算符(& | ^)
// 00001010
int a = 10;
// 00010100
int b = 20;
System.out.println(a | b);
//结果为30
int x = -2;
// <<左移3位
System.out.println(2 << 3);
//结果为16
// >>右移3位
System.out.println(5 >> 1);
//结果为2
// >>>无符号右移:将运算符左边的对象向右移指定的位数。采用0的扩展机制,不考虑符号
System.out.println(x >>> 1);
  • char的特殊性:

映射表 :ASCII码
字符型 abcdefg每一个字符在计算机保存时都是以ASC码的形式
char类型是16位的,跟short是一样的,可以自动转换成int long float
当char自动转换成数值类型时,会对应着ASCII码去转换
把整数类型转换成char类型时,会对应着ASCII码去转换
由于char类型有这样的特殊性,开发中尽量不要用char
“+”有连接符的功能

  • idea和VScode对比

课堂练习

  • 三元运算符求最大值
int a = 1;
double b = 20.5;
char c = 'a';
// Java里的三元运算符,要求,要求2个表达式的运行结果的数据类型是相同或可以自动转换成相同的
double max = a > 10 ? b : c;
System.out.println(max);

学习总结

  1. 今天是JAVA入门的第一天,了解了JAVA语言和他的历史,还有其版本与特点,学会了怎么创建.java文件。通过控制台编译成.class文件,然后执行。
  2. 了解了基本数据类型,并且做了相关运算,其中a++与++a有些混乱,通过反复看回放得到了解决。在学运算符的时候,位运算符是个难点,但没有产生问题。
  3. 练习题是使用三元运算符,求最大值,这里关于数据类型的转换有点不太明白,也是靠看回放才解决。
  4. 每次通过看回放解决问题,我都能更深刻的感受到书读百遍其义自见的道理。希望以后的每一个问题我都能靠自己来解决。
posted on 2022-07-14 08:59  宝娟,我的嗓子!  阅读(42)  评论(0)    收藏  举报