JRE = JVM + API [核心类库编程接口]
JDK = JRE + BIN [常用的工具命令 -》 javac/java] 3·设置环境变量 =》设置PATH PATH=C:\Program Files\Java\jdk1.8.0_202\bin 4·第一个程序HelloWorld 5·Java中的数据类型 数据类型:数据的单位;Java是一个强类型的编程语言,所有变量在第一次创建的时候都必须有数据类型。 =》 Java数据类型(基本数据类型(简单数据类型)和引用数据类型(自定义数据类型)) =》Java种的基本数据类型:4类8种
(1)布尔类型:boolean -》 只能使用true[真]/false[假]进行赋值,不能用数字进行赋值
(2)字符类型: char -》 底层基于Unicode编码实现的 -》 不区分中英文 -》 统一的都是2个字节 = 16个位
char x = 'a'; 指定字面值的赋值方式 char y = '中'; 指定字面值的赋值方式 char z = '\t'; 转义字符 char a = '\u4e2d'; 通过Unicode编码进行赋值 char b = 99; 通过ascii编码进行赋值 (3)整数类型 符号位(1)+数值位(n-1)byte | short | int(默认类型) | long(需要在数字后面+L) |
8个位 | 16个位 | 32个位 | 64个位 |
1个字节 | 2个字节 | 4个字节 | 8个字节 |
=》整数类型的赋值方式:
int num1 = 55; //十进制赋值
int num2 = 055; //0表示八进制
int num3 = 0x55; //0x表示十六进制
int num4 = 0b1110; //0b表示二进制
(4)浮点类型 符号位+幂值位+数值位float | double |
32个位 | 64个位 |
结尾需要+F/f | 默认小数为double类型 |
float=符号位1 (0或1)+ 幂值位8 [127]+ 数值位23
double=符号位1 + 幂值位 11[1023]+ 数值位52
例如float x = 45.25F;将x转化成二进制
=1》第一步,将两个整数和小数部分都转化成二进制
45转化成二进制:101101
0.25转化成二进制:01
(1)0.25*2=0.5 =》取 0
(2)0.5*2=1.0 =》取 1
45.25的二进制为101101.01
=2》第二步,将45.25的二进制转化成科学计数法为1.0110101*2*(5) 注:是乘2的5次方
=3》第三步
(1)符号位:是正数,所以符号位是 0
(2)幂值位:(127+5)转化成二进制是10000100 注:5是取得2的5次方
(3)数值位:二进制小数点后的取23位,如果不够后面补0,所以是0110101后面补16个0
符号位 幂值位 数值位 0 10000100 0110101 0000000000000000 6·引用数据类型的开发顺序 · 先写测试类[带有main方法的类] · 再写实体类[带有属性/方法的类] 定义属性:数据类型 属性名; 定义方法:修饰符 + 返回类型 + 方法名(参数){} · 在main方法里面测试 创建对象:类名 对象名 = new 类名(); 调用属性: 对象名.属性 = 值; 调用方法: 对象名.方法(); 补充:Math.random()取值范围[0,1) 随机三位数:(int)(Math.random() * 900 + 100); 随机a-z: (char)(Math.random() * 26 + 97); 随机A-Z:(char)(Math.random() * 26 + 65); 7·Java中的运算符 =》[+ - * / %] (1)[+:当+遇到String类型的时候 不再表示算数加法 而是表示追加连接] (2)[*:当心数值超出int类型最大边界 注意使用long类型] (3)[/:整数除以整数 结果一定是整数] 5 / 2 = 2 5 / 2.0 = 2.5 (4)[%:取模运算符 求余数 最终结果的符号位取决于参与运算的第一个数的符号] =》1-100之间最大的8的倍数 -》 100 / 8 * 8 100-100%8 =》求一个数字的个位数 十位数 百位数 int num = 728; int bai = num / 100; //728 / 100 = 7 int shi = num / 10 % 10; //728 / 10 = 72 % 10 = 2 int ge = num % 10; //728 % 10 = 8 =》[+= -= *= /= %=....] 他们可以保证运算符的左边的数据类型不 发生改变 =》 隐式的强转 short x = 1; x = x + 1; System.out.println(x);=》可能损失精度 short x = 1; x += 1; System.out.println(x);=》2 =》[ ++ -- ]自增自减运算符 [x++:先取值 再运算 ++x:先运算 再取值] =》[> < >= <= ! = != == ][> < >= <= ]:判断运算符=》结果都是boolean
(1)!:非 !boolean !true = false !false = true
(2)!=:判断左右两边的值是否不相等
System.out.println(45 != 66);=》true
(3)=和==之间的区别?
=:赋值运算符 将右侧的值交给左侧的变量保管 int age = 22;
==:判断左右两边的值是否相等 age == 18(年龄是否等于18)
=》[&& || & | ] 逻辑运算符(1)&&和&之间的区别?
相同点:&&和&都是逻辑的与 相当于汉文中并且的意思 需要前后两个条件都成立
不同点:&&叫做逻辑的短路与,有短路特性,短路特定:如果通过前面的条件可以得出最终结果的话 后面的条件直接舍弃不在判断
例子:如果晚上我有空的话,而且你们愿意,那么我请客吃饭
if(我有空 && 你们愿意){晚上我请客吃饭} boolean && boolean ,true 判断 false 短路
(2)||和|之间的区别?
相同点:||和|都是逻辑的或,相当于汉文中或者的意思 需要前后只要有一个条件成立就行
不同点:||叫做逻辑的短路或,有短路特性
=》[ & | ^ ~ ]按位运算符 =》[<< >> >>>] 位移运算符 =》[ ? : ]三目运算符,三元运算符boolean ? 2 : 3
如果第一部分为true 那么执行第2部分
如果第一部分为false 那么执行第3部分
8·Java中的变量 =》Java中的变量有哪些(1)成员变量 实例变量 属性:定义在类体里面的变量
(2)局部变量 自动变量: 定义在方法体里面的变量
(3)*:java中没有全局变量的概念
=》成员变量与局部变量之间的区别(1)定义的位置不同
成员变量:定义在类体里面 方法体外面
局部变量:定义在方法体里面
(2)作用范围不同
成员变量:依赖于对象而存在,只要对象没有消亡,无论在哪里都可以访问,每次new对象的时候,底层会自动创建成员变量
局部变量:从定义的那一行开始,一直到所在方法体执行结束之前可以访问,一旦所在方法体执行结束,局部变量立即消亡,局部变量依赖于方法
(3)默认值不同
成员变量:即使不赋值也有默认值
局部变量:没有默认值,要求在使用之前必须先赋值
成员变量和局部变量可以重名,在成员变量和局部变量重名的时候,如果直接访问这个变量的话,默认是局部变量,如果想要访问成员变量,需要在变量前面加上this.
9·Java中的流程控制 (1)分支 =》if else (1)语法格式=》学会使用if else排他特性简化代码,不要再下面的条件里面写出上面条件不成立的等价判断 (2)拓展内容 1:当if,else里面只有一个语句的时候 {}可以不写 2:当if里面有return语句的时候 else单词可以不写 3:当if条件为true,return true;当if条件为false,return false;其实return回去的就是条件判断而已。例如(age>18,可以不用写if(int age;age>18;...){}else{},直接return age>18就可以了) 4:不要拿着一个boolean类型的变量和true做连等比较,if(直接写boolean条件就可以,不需要写判断句==了) =》switch case=》case xxx : 语句;(语句如果自己不能中断方法(打印语句,赋值语句就不能自己中断),要加break中断;如果是return语句的话,可以自己中断方法,就不需要加break)
(2)循环 (1)for循环:
(2)while循环 (3) do while 循环
第一周的学习大概就这么多了,线下疫情原因没有开课,在线上上课,效率只能说一般般,要加油要加油要加油呀!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)