数据类型,二元运算符,自动类型提升规则,关系运算,取余模运算
package com.kun.operator;public class Demo1 {public static void main(String[] args) {//八大基本数据类型//整数int unm1 =10;//最常用byte unm2 =20;short unm3 =30;long unm4 =40L;//Long类型要在数字后面加个L//小数:浮点数float unm5 =50.1F;//float类型要在数字后面加个Fdouble unm6 =3.1415926;//字符char name = '请';//字符串,String不是关键字,类String namea = "中国";//布尔值:是非boolean flag = true;//boolean flag = false//二元运算符int a = 1;int b = 2;System.out.println(a+b);System.out.println(a-b);System.out.println(a*b);System.out.println(a/b);//0 (向下取整)//如果 a 和 b 都是整数类型(如 int 或 long),则结果为整数除法,即会舍弃小数部分,只保留商的整数部分。//如果 a 或 b 中至少有一个是浮点数类型(如 float 或 double),则结果为浮点数除法,会保留小数部分。System.out.println(a/(double)b);//0.5//为了得到浮点数的结果,需要将其中一个操作数强制类型转换为double类型。// (double)b,将变量b转换为double类型。float c = 2.0F;System.out.println(a/c);//0.5 c为浮点类型System.out.println("=================================");//自动类型提升规则Long a1 = 123456789L;int b1 = 123;short c1 = 12;byte d1 = 3;System.out.println(a1+b1+c1+d1);//a1+b1+c1+d1:由于a是long类型,根据类型提升规则,b1、c1、d1都会自动提升为long类型,因此最终结果是Long类型。System.out.println(b1+c1+d1);//b1+c1+d1:由于b是int类型,根据类型提升规则,c1、d1都会自动提升为int类型,因此最终结果是Int类型。System.out.println(c1+d1);//c1+d1:由于c1是short类型,根据类型提升规则,d1会自动提升为int类型,因此最终结果是Int类型。/*** 如果操作数中有一个是long类型,则结果类型为long。* 如果操作数中没有long类型,但有一个是int类型,则结果类型为int。* 如果操作数中没有long和int类型,但有一个是short类型,则结果类型为short。* 如果操作数中没有long和int类型,但有一个是short类型,且另一个操作数是byte或char类型,那么两个操作数都会被提升为int类型* 如果操作数中有float,整个表达式提升为float。* 如果操作数中有double,整个表达式提升为double。* Java中的类型提升规则保证了在混合类型运算时,结果类型会是参与运算的操作数中的最高等级类型*/System.out.println("=================================");//关系运算返回结果 :正确,错误 布尔值// ifint a2 = 10;int b2 = 20;int c2 = 31;System.out.println(c2%a2);//1//取余模运算 31/10 = 3...1System.out.println(a2>b2);System.out.println(a2<b2);System.out.println(a2==b2);System.out.println(a2!=b2);/*** >(大于):检查左操作数是否大于右操作数。如果是,返回true;否则,返回false。* <(小于):检查左操作数是否小于右操作数。如果是,返回true;否则,返回false。* ==(等于):检查两个操作数是否相等。如果是,返回true;否则,返回false。* !=(不等于):检查两个操作数是否不相等。如果是,返回true;否则,返回false。*/}
}