java基础学习Day02笔记(自用)

it2024-06-25  42

入门

Day02:IDEA、类型转换、运算符IDEA:数据类型转换1.自动类型转换概念:2.特点:强制类型转换1.强制类型转换概念:2.格式:3.问题总结 ASCII表 运算符概念:表达式:数学运算符:算数运算符%运算符+的特殊用法赋值运算符:自增自减运算符 1.作用:2.使用格式:3.使用注意事项:4.注意:关系运算符1.作用:2.特点:3.分类:4.注意: 逻辑运算符1.作用:2.分类: 逻辑运算符的短路效果1.基本使用2.使用区别:3.注意: 三元运算符1.格式:2.执行流程: 键盘录入导入包创建对象使用对象 学习目标

Day02:IDEA、类型转换、运算符

IDEA:

这里会收纳一些在学习过程中觉得好用的快捷键 不定期更新ε=ε=ε=( ̄▽ ̄) //修改名称 shift + F6 //新建 alt + insert //自动补全代码 ctrl + shift +Enter //向下换行 shift+Enter //向上换行 ctrl+shift+Enter //sout + Enter =输出语句 // ctrl+d =复制该行 // ctrl+y =删除当前行 // ctrl+/ =单行注释 // cttrl+shift+/=多行注释 // ctrl+alt+L=代码格式标准化—现改为ctrl alt ; //↑注意↑上面这条快捷键和qq默认热键冲突 以及遇到了 ctrl + shit +L不响应的情况 解决未果 于是改键了.

数据类型转换

1.自动类型转换概念:

取值范围小的数据/变量,可以直接赋值给取值范围大的变量.

2.特点:

(1)是自动完成的,不需要代码的特殊处理 (2)byte/short/char类型,至少会自动类型转换为int类型 (3)转换规则: byte、short、char–>int–>long–>float–>double 总结: 整个表达式中的所有类型,都会自动转换成表达式中最大的类型,结果也是最大的类型

举例:00000000 有一个byte类型(1个字节)的数字5: 00000101 byte类型自动类型转换成short类型(2个字节): 在左侧补充一个字节的0,因为补充的是0,对于原有数据大小没有影响 00000000 00000101 byte类型自动类型转换成int类型(4个字节): 在左侧补充三个字节的0,因为补充的是0,对于原有数据大小没有影响 00000000 00000000 00000000 00000101 byte类型自动类型转换成long类型(8个字节): 在左侧补充七个字节的0,因为补充的是0,对于原有数据大小没有影响 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000101

强制类型转换

1.强制类型转换概念:

取值范围大的数据或者变量,不能直接赋值给取值范围小的变量,必须进行强制类型转换. e.g.long类型的847: 00000000 00000000 00000000 00000000 00000000 00000000 00000011 01001111 强制类型转换为byte类型: 01001111: 79 long num = 847L; byte b = (byte)num;//把num强制类型转换成byte类型,砍掉左侧的7个字节的内容

2.格式:

转后类型 变量名称 = (转后类型)转前数字/变量;

3.问题

**可能损失精度**

举例:00000000 有一个long类型(8个字节)的数字5: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000101 long类型强制类型转换成int类型(4个字节): 砍掉左侧的四个字节的内容,目前砍掉都是0,对数据大小没有影响,只要砍掉的有1,就会影响数据大小 00000000 00000000 00000000 00000101

long类型强制类型转换成short类型(2个字节): 砍掉左侧的六个字节的内容,目前砍掉都是0,对数据大小没有影响,只要砍掉的有1,就会影响数据大小 00000000 00000101

long类型强制类型转换成byte类型(1个字节): 砍掉左侧的七个字节的内容,目前砍掉都是0,对数据大小没有影响,只要砍掉的有1,就会影响数据大小

总结

根据需求,砍掉左侧的若干字节的内容,如果砍掉都是0,对数据大小没有影响, 只要砍掉的有1,就会影响数据大小

ASCII表

概念:就是将人类的文字和十进制数对应把字符转换成0和1进行存储. 用法: 可以通过26个字母的大小的ASCII值相差32来实现英文大小写的转换.

运算符

概念:

对常量或者变量进行操作/运算的符号

表达式:

用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。

数学运算符:

(1)+: 加法运算 (2)-: 减法运算 (3)*: 乘法运算 (4)/: 除法运算 被除数 ÷ 除数 = 商(/: 获取除法运算中的商) ... 余数(%: 获取除法运算中的余数)

算数运算符%

%的作用: 1.判断数字的奇偶性 偶数(可以被2整除): 数字%2 的 结果是0 奇数(不可以被2整除): 数字%2 的 结果不是0 ==> 结果是1 2.判断一个数字能否被另外一个数字整除 结果为0: 说明可以被整除 结果不为0: 说明不可以被整除

运算符+的特殊用法

+的作用 1.完成数学中的加法运算 2.完成字符串的连接(拼接): 如果+的左右两边出现字符串

赋值运算符:

+= 加后赋值 a+=b,将a+b的值给a a = a + b -= 减后赋值 a-=b,将a-b的值给a a = a - b = 乘后赋值 a=b,将a×b的值给a a = a * b /= 除后赋值 a/=b,将a÷b的商给a a = a / b %= 取余后赋值 a%=b,将a÷b的余数给a a = a % b 注意: 1.=: 表示的是赋值运算 2.==: 表示的是判断是否相同

自增自减运算符

自增(++)自减(–)运算符

1.作用:

就是让变量的值增加1(++)或者减少1(–)

2.使用格式:

(1)可以写在变量的前面: ++a,–a (2)可以写在变量的后面: a++,a–

3.使用注意事项:

(1)单独使用:++或者–自己独占一行,没有其它多余的操作 此时: 前++和后++效果一样,都是让变量的值增加1 前–和后–效果一样,都是让变量的值减少1

(2)混合使用: ++或者-- 和其它操作(赋值/打印)一起进行运算 将产生重大区别: 前++:先自增后赋值 后++:先赋值后自增

4.注意:

虽然++和–可以写出非常非常复杂的表达式,那些是研究生们研究的问题 我们最常用的就是: a++: 变量a的值增加1 a–: 变量a的值减少1

关系运算符

1.作用:

用来比较两个数据之间的大小关系,结果是boolean类型的数据

2.特点:

关系表达式不管写的多么复杂,或者多么简单,最终结果要么是true(成立),要么是false(不成立)

3.分类:

== a==b, 判断a和b的值是否相等,成立为true,不成立为false > a>b, 判断a是否大于b,成立为true,不成立为false >= a>=b, 判断a是否大于或者等于b,成立为true,不成立为false < a<b, 判断a是否小于b,成立为true,不成立为false <= a<=b, 判断a是否小于或者等于b,成立为true,不成立为false != a!=b, 判断a和b的值是否不相等,成立为true,不成立为false

4.注意:

1.=: 表示的是赋值运算 2.==: 表示的是判断是否相同

逻辑运算符

1.作用:

用来连接多个布尔表达式的,结果也是布尔类型

2.分类:

(1)逻辑与(&:shift+7)【有false,则false】: 表示并且的意思,同时成立的意思 多个条件都为true,结果才为true 多个条件只要有一个为false,结果就是false (2)逻辑或(|:shift+)【有true,则true】: 表示或者的意思 多个条件只要有一个为true,结果就是true 多个条件都是false,结果就是false (3)逻辑异或(^:shift+6): 相同为false,不同为true (4)逻辑非(!:shift+1): !true: 就是false !false: 就是true

逻辑运算符的短路效果

1.基本使用

(1)短路逻辑与(&&): 左侧为false,右侧不进行计算 (2)短路逻辑或(||): 左侧为true,右侧不进行计算

2.使用区别:

(1)&&和&: 最终的结果是相同的,但是&&具有短路的效果,效率高 (2)||和|: 最终的结果是相同的,但是||具有短路的效果,效率高

3.注意:

以后实际学习/开发过程中,需要连接多个条件时,强烈建议使用&& 或者 ||

三元运算符

1.格式:

数据类型 变量名称 = 布尔表达式1 ? 表达式2 : 表达式3; 注意: ?号前面的式子的结果必须是布尔类型

2.执行流程:

(1)计算布尔表达式1的结果,看是true,还是false (2)如果布尔表达式1的结果是true,取表达式2的结果赋值给左侧的变量 (3)如果布尔表达式1的结果是false,取表达式3的结果赋值给左侧的变量

键盘录入

仅了解如何使用即可

导入包

import java.util.Scanner

创建对象

Scanner sc = new Scanner(System.in);

使用对象

sc.nextInt(): 获取键盘录入的整数数字(int范围) sc.nextDouble(): 获取键盘录入的小数数字(double范围)

学习目标

能够使用IDEA完成HelloWorld案例 能够知道类型转换的格式和顺序 能够说出常见的运算符有哪几种 能够知道除法和取余的区别 能够完成字符和字符串的加法 能够知道&&和&的区别 能够使用三元运算符完成获取两个数中较大值 能够使用键盘录入数据并完成两个数据求和

最新回复(0)