ET Java正课第一周学习

ET Java正课第一周学习,第1张

1· Java如何实现跨平台

JVM(Java 虚拟机)=类加载器 + 字节码校验器 + 解释执行器 2· 搭建开发环境    =》 1、安装JDK(Java软件开发工具包)                 ·JDK= Java + SDK ( software development kits = 软件开发工具包)                 ·JRE = java runtime environment java =》运行环境    =》 2、组成关系                  JVM = 类加载器 + 字节码校验器 + 解释执行器
                 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)
byteshortint(默认类型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)浮点类型        符号位+幂值位+数值位
floatdouble
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 循环

第一周的学习大概就这么多了,线下疫情原因没有开课,在线上上课,效率只能说一般般,要加油要加油要加油呀!!!

                        

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/740596.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存