昆明网站建设服务,蛋糕店网页设计图片,wordpress评论 ajax,浏览器如何推广自己网站目录数据类型数据类型的分类运算符算术运算符符号做连接符的识别自增、自减运算符赋值运算符关系运算符逻辑运算符短路逻辑运算符三元运算符运算符优先级数据类型 数据类型的分类
引用数据类型#xff08;除基本数据类型之外的#xff0c;如String #xff09;
基本数据类…
目录数据类型数据类型的分类运算符算术运算符符号做连接符的识别自增、自减运算符赋值运算符关系运算符逻辑运算符短路逻辑运算符三元运算符运算符优先级数据类型 数据类型的分类
引用数据类型除基本数据类型之外的如String
基本数据类型4大类8种。
第 1 类整数型不带小数的数字byte,short,int,long第 2 类浮点型带小数的数字float,double第 3 类字符型文字单个字符char第 4 类布尔型真和假boolean
格式数据类型 变量名称 初始值; byte a 1;short a 1;int a 1;char a a;float a 1.1;double a 1.1;long a 1;booleana true;注1字节数(1B)8比特(8bit)
byte 1B 8位 8bit
short 2B 16位16bit
int 4B 32位32bit
char 2B 16位16bit
float 4B 32位32bit
double 8B64位64bit
long 8B 64位64bit
boolean 1B8位8bit
//char可以赋值给int赋的是ASCII码自动类型转换: 在表达式中小范围类型的变量会自动转换成当前较大范围的类型再运算。 类型范围小的变量可以直接赋值给类型范围大的变量 byte short char是直接转换成int类型参与运算的。
强制类型转换
可以强行将类型范围大的变量、数据赋值给类型范围小的变量。
数据类型 变量2 (数据类型)变量1、数据
int a 20;
byte b (byte)a; 注意事项
强制类型转换可能造成数据(丢失)溢出浮点型强转成整型直接丢掉小数部分保留整数部分返回。强制类型转换是可以强行将类型范围大的变量、数据赋值给类型范围小的变量。
强制类型转换有哪些需要注意的 可能出现数据丢失。 小数强制转换成整数是直接截断小数保留整数
运算符
运算符对字面量或者变量进行操作的符号。
算术运算符
符号作用说明加-减*乘/除与“÷”相同注意在Java中两个整数相除结果还是整数。%取余获取的是两个数据做除法的余数
注意如果两个整数做除法其结果一定是整数因为最高类型是整数
符号做连接符的识别
public static void main(String[] args) {int a 5 ;System.out.println(abc a); // abcaSystem.out.println(abc a); // abc5System.out.println(5 a); // 10System.out.println(abc 5 a); // abc5aSystem.out.println(15 abc 15); // 15abc15System.out.println(a a); // 102System.out.println(a a); // 5aSystem.out.println(a a itheima ); // 102 itheimaSystem.out.println(itheima a a); // itheima5aSystem.out.println(itheima ( a a ));// itheima102
}自增、自减运算符
符号作用说明自增变量自身的值加1–自减变量自身的值减1
// 在表达式中或者不是单独操作的情况 -- 在变量前后存在区别
// -- 在变量前面。先1 -1 再使用。
int i 10;
int j i;
System.out.println(i); // 11
System.out.println(j); // 11// -- 在变量的后面 先使用再1 -1
int m 10;
int n m;
System.out.println(m); // 11System.out.println(n); // 10自增、自减运算符是什么有什么作用需要注意什么 、–。对当前变量值1、-1 只能操作变量不能操作字面量
自增、自减运算符在变量前后有区别吗
如果单独使用放前后是没有区别的。非单独使用在变量前 先进行变量自增/自减再使用变量。非单独使用在变量后 先使用变量再进行变量自增/自减
赋值运算符
就是。
int a 10; // 先看“”右边把数据10赋值给左边的变量a存储。扩展赋值运算符
符号作用说明加后赋值ab 等价于 a (a的数据类型)(ab); 将a b的值给a-减后赋值a-b 等价于 a (a的数据类型)(a-b); 将a - b的值给a*乘后赋值a*b 等价于 a (a的数据类型)(a*b); 将a ***** b的值给a/除后赋值a/b 等价于 a (a的数据类型)(a/b); 将a / b的商给a%取余后赋值a%b 等价于 a (a的数据类型)(a%b); 将a % b的商给a
注意扩展的赋值运算符隐含了强制类型转换。
关系运算符
是对数据进行条件判断的符号最终会返回一个比较的布尔结果false,true。
符号说明ab判断a和b的值是否相等成立为true不成立为false!a!b判断a和b的值是否不相等成立为true不成立为falseab 判断a是否大于b成立为true不成立为falseab判断a是否大于等于b成立为true不成立为falseab 判断a是否小于b成立为true不成立为falseab判断a是否小于等于b成立为true不成立为false
注意在做相等判断是千万不要把 误写成
逻辑运算符
可以把多个条件的布尔结果放在一起运算最终返回一个布尔结果。
符号介绍说明逻辑与必须都是true结果才是true; 只要有一个是false结果一定是false。|逻辑或只要有一个为true、结果就是true逻辑非你真我假、你假我真。 !truefalse 、 !false true^逻辑异或如果两个条件都是false或者都是true则结果是false。两个条件不同结果是true。double A 9;double B 6;// 需求A大于等于6.5 B要大于等于8// 注意必须前后都是true结果才是trueSystem.out.println(------- 与 --------);System.out.println(A 6.5 B 8);// 需求要么A大于等于8 要么B大于等于6.5// 注意只要有一个是true 结果就一定是trueSystem.out.println(------- 或| --------);System.out.println(A 6.5 | B 8);System.out.println(------- 非 --------);System.out.println(!true);System.out.println(!false);// 逻辑异或必须两个不同结果才是trueSystem.out.println(-------异或^ --------);System.out.println(false ^ true); // trueSystem.out.println(true ^ false); // trueSystem.out.println(true ^ true); // falseSystem.out.println(false ^ false); // false短路逻辑运算符
符号介绍说明短路与判断结果与“”一样。过程是左边为 false**右边则不执行。**||短路或判断结果与“|”一样。过程是左边为 true** 右边则不执行。**
注意逻辑与 “” 、逻辑或“|”: 无论左边是 false还是 true右边都要执行。 System.out.println(----------- || |的区别-------------------);int a 10;int b 20;// System.out.println(a 100 b 10);System.out.println(a 100 b 10);System.out.println(b);int i 10;int j 20;//System.out.println(i 2 || j 10);System.out.println(i 2 | j 10);System.out.println(j);逻辑运算符有哪些有什么特点
逻辑与“” 有一个为false、结果是false短路与 一个为false、结果是false。前一个为false,后一个条件不执行了逻辑或“|”有一个为true、结果是true短路或||一个为true、结果是true。前一个为true后一个条件不执行了逻辑非“!”!falsetrue、 !truefalse逻辑异或“^” 相同是false、不同是true。注意实际开发中、常用的逻辑运算符还是 、 || 、 !
三元运算符
格式条件表达式 ? 值1 : 值2;
执行流程首先计算关系表达式的值如果值为true返回值1如果为false返回值2。
案例-求三个整数的最大值
需求定义三个整数找出最大值并打印在控制台。
分析 用三元运算符获取前两个整数的最大值并用临时变量保存起来。 num1 num2 ? num1 : num2; 用三元运算符让临时最大值和第三个整数进行比较并记录结果。 temp num3 ? temp : num3; 输出结果
int num1 10;int num2 30;int num3 20;
int temp (num1 num2) ? num1 : num2;
max (temp num3) ? temp : num3;
或者
int max ((num1 num2 ? num1 : num2) num3) ? (num1 num2 ? num1 : num2) : num3;建议不用这种
System.out.println(max);运算符优先级