栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java基础】二,Java基础语法(第二部分)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java基础】二,Java基础语法(第二部分)

Java基础语法(第二部分) 类型转换,运算符 一,类型转换 原因:在开发中存在不同类型的数据和变量赋值给其他类型变量,还有不同的数据类型和变量要进行运算,其结果的数据类型要确定下来 分类: 1. 自动类型转换

原理:取值范围小的数据类型可以直接赋值给取值范围大的数据类型,会自动完成转换

其中char类型自动转换成int类型
形式:

byte a = 2; int b = a;

注意:注意char也是可以转换成int的

char ch = '中';
int code = ch;
// 原理是字符会按照ACSII字符编码转换成数字再转换成2进制最后完成类型转换
2. 表达式类型转换

原理:在表达式中,小范围的数据类型会自动变成表达式中最大的数据类型进行换算

结论:表达式的最终结果由表达式中取值范围最大的数据类型决定

注意:byte,short,char都是自动转换成int类型来运算的

byte,short,char==>int==>long==>float==>double

面试笔试题:

byte a =1;
byte b =2;
// 请问下面的是正确的吗?
byte c = a + b; 
// 答上面这样的写法是错误的,应当这样写
int c = a + b; 
// 或者这样写
byte c = (byte)(a + b);
3. 强制类型转换

原因:如果需要取值范围大的数据类型转换成取值范围小的数据类型,则需要强制转换才行
格式:小范围数据类型 变量名 = (小范围数据类型)大范围变量/数据

int a =120; byte b = (byte)a; 

注意:

  • 强制类型转换会发生数据损失
  • 小数类型的数据转换成整数类型的数据会把小数点后面的数值去掉,只保留整数部分
double a = 99.58;
int b = (int)a; // b = 99
二,运算符 1,赋值运算符
  • =
    将右边的值/变量赋值给左边的变量
  • +=
    a += b; 等价于 a = (int)a + b
  • -=
    a -= b; 等价于 a = (int)a - b
  • *=
    a *= b; 等价于 a = (int)a * b
  • /=
    a /= b; 等价于 a = (int)a / b
  • %=
    a %= b; 等价于 a = (int)a % b

注意:自带自动类型转换

byte a = 5;byte b = 8;
a += b; // 等价于 byte a = (byte)(a + b);
2,+ 符合连接符

场景:在字符串与其他类型之间用+符号,此时为连接符,最后的结果为字符串。
规律:能算则算,不能算则连在一起。

String name = "中国人";
int num = 666;
System.out.println(name + num + 6); //  中国人6666
3,算术运算符

" + - * / % "
加,减,乘,除,取余

注意:整型相除其结果一定是整型,会把小数点后面的尾部砍掉。

3,自增自减运算符


注意事项:

  1. 只能对变量进行操作自增自减,不能对字面量和常量进行操作
  2. 在单独使用时,在前在后都是一样的,没有区别 a++ a++
  3. 但是要不在单独使用时,前后是有区别的
    在前 int b = ++a + 2; 则是先进行变量a的自增,再和 2 相加,最后结果 4 赋值给变量b。b = 4; a = 2;
    在后 int b = a++ + 2; 则是先使用变量a和 2 相加,结果赋值给b,最后再变量a自身+1。 b = 3; a =2;
4,关系运算符

定义:是对数据进行条件判断的符号,最终比较后的结果是布尔类型(true , false)

5,逻辑运算符

与:
单与(逻辑与)& ,双与(短路与)&&:且的意思,必须左右都是true其结果才是true,有一个是false则结果为false。
两者区别是:& 左边是false 还是会继续执行右边的最后再判断,而 && 则如果左边是false 右边则不会再执行,直接返回false。

或:
单或(逻辑或)|,双或(短路或)||:或的意思,左右有一个是true其结果则是true。
两者区别是:| 左边是ture 还是会继续执行右边的最后再判断,而 || 则如果左边是true 右边则不会再执行,直接返回ture

取反:!
例如:!false = true; !true = false; 你真我假,你假我真。

异或 ^
两边一样返回false,两边不一样则返回true,就像两男在一起为假,一男一女在一起则为真

6,三元运算符

格式:条件表达式 ?值1:值2;

三元运算符是可以嵌套的,例如:

比较三个数中最大的值并输出:有两种写法

int temp = num1 > num2 ? num1 : num2;
int rsMax =temp > num3 ? temp : num3;

int rsMax1 =num1 > num2 ? (num1 > num3 ? num1 : num3) : (num2 > num3 ? num2 : num3);
7,运算符的优先级

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005669.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号