初级Java1

61 阅读2分钟

Java中的自动类型转换

2023年11月9日00:45:18

自动类型转换

int score1 = 9;
double score2 = score1;
System.out.println(score2)   // 9.0

自动勒种转换是需要的定的条件

  1. double型兼容int型,但是char型不能兼容int型 image.png
  2. 目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了 image.png
任务
    public class HelloWorld{
    public static void main(String[] args) {
		double avg1=78.5;
		int rise=5;
		int avg2=avg1+rise;
		System.out.println("考试平均分:"+avg1);
		System.out.println("调整后的平均分:"+avg2);
	}
}
```java
HelloWorld.java:5: error: incompatible types: possible lossy conversion from double to int
		int avg2=avg1+rise;
		             ^
1 error

以上代码哪里出现了错误? 答:应该把第五行的int 改成 double 因为第5行的avge1是int类型,double类型不能自动转换为int类型

Java中的强制类型转换

强制把double转换成int

    double avg1 = 7.5;
    int avg2 = (int)avg1;
    Syetem.out.println(avg1);  //7.5
    Syetem.out.println(avg2);  //7
    

通过强制类型转换将 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。

Java常量的应用

定义完,不能修改 语法: final double PI = 3.14

  • final:常量关键字
  • double:数据类型
  • PI:常量名
程序中使用常量可以提供代码的维护性。程序中使用常量可以提供代码的维护性。

Java中的算术运算符

加(+)减(-)乘(*)除(/)求余(%)自增(++)自检(--)跟JavaScript一样++、--

Java中的赋值运算符

image.png

Java中的比较运算符

  • (>)
  • <
  • (>=)
  • <=
  • ==
  • !=

Java中的逻辑运算符

  • &&
  • ||
  • !
  • ^(异或)

三元运算符

    int score = (8>1)?"8大于1":"8小于1";
    public class HelloWorld{
    public static void main(String[] args) {
		int score=50;
		String mark = (score>60)?"合格":"不合格";
		System.out.println("考试成绩如何:"+mark);
	}
}

Java中运算符优先级

image.png