1datetype

    xiaoxiao2024-05-24  134

    //基本数据类型包括4类(共8种)//Java数据类型包含:基本数据类型和引用数据类型//引用数据类型包括:类、接口和数组,

    public class DataType{

    public static void main(String args[]){ //变量:程序执行过程中变量的值可以改变 //作用:用来存放数据的,方便对数据的操作 //定义格式: /* 数据类型 变量名称 = 值; */ /* 基本数据类型 关键字 占得字节数 默认值 字节型 byte 1 0 短整型 short 2 0 整形 int 4 0 长整型 long 8 0L 单精度浮点型 float 4 0.0F 双精度浮点型 double 8 0.0 字符型 char 2 '\u0000' 布尔型 boolean 1位 false */ //字节型:byte 占一个字节 byte b=100; System.out.println("b="+b); //+的作用将""中的内容和b的值拼接起来 b=127; //只能表示-128到127 System.out.println("b="+b); //短整型:short 占2个字节 short s=10000; System.out.println("s="+s); //s=100000; //超出最大值 //整型:int 占4个字节 int i=100000; System.out.println("i="+i); //i=10000000000; //长整型:long 占8个字节 long l=10000000000L; //整型数字面量的默认类型是int,表示long后面加上l或L System.out.println("l="+l); //单精度浮点数:float 占4个字节 float f = 0.123456789F; //小数字面量的默认类型是double,表示float加f或F System.out.println("f="+f); //双精度浮点数:double 占8个字节 double d = 0.12345678999; System.out.println("d="+d); //字符型:char 占2个字节(采用的是unicode编码) char c = 'a'; //将字符用单引号括起来 System.out.println("c="+c); c = 97; System.out.println("c="+c); c='中'; System.out.println("c="+c); //转义字符:有以\开头的字符,\的作用将后面字符的意义改变了 c='\t'; //\n \b \r System.out.println("c="+c+"]"); c='\''; //输出单引号、双引号、\ System.out.println("c="+c); //c='\a'; //非法的转义字符 //布尔型:boolean 取值范围:true,false,用1位表示就够了 boolean flag = true; System.out.println("flag="+flag); flag=false; System.out.println("flag="+flag); //常量:程序执行过程中常量的值不能修改 //定义常量使用final final double PI = 3.14; System.out.println("PI="+PI); //PI=3.14159; //常量赋值以后不能修改 //String类型不是基本类型,但是比较常用 String str = "好好学习"; System.out.println("str="+str); }

    }//这是注释版的程序/*

    注释的作用:提高代码的可读性 辅助程序调试 //注释写在文件开头处或需要说明的内容附近

    */public class Test1{

    //下面定义一个main()方法,它是程序的入口地址 public static void main(String args[]){ //static 是一个关键字 System.out.println("Test"); //输出的内容写在“”中 }

    }//数据类型转换public class TypeCast{

    public static void main(String args[]){ //数据类型转换有两种情况:自动类型转换和强制类型转换 //自动类型转换的条件 //1.类型兼容 //2.表示范围扩大 //自动类型转换一般不会出现问题 //优先级由低到高:byte short char int long float double byte b=100; int i=b; System.out.println("i="+i); float f=b; System.out.println("f="+f); //强制类型转换 // (要转的数据类型)值 //可能会出现问题 byte b2 = (byte)i; System.out.println("b2="+b2); b2 = (byte)3.14F; System.out.println("b2="+b2); //3 小数点后被舍弃 b2 = (byte)128; System.out.println("b2="+b2); //-128 取最低一个字节,高位被舍弃 double d=129.95; i = (int)d; System.out.println("i="+i); b2 = (byte)d; System.out.println("b2="+b2); }

    }//运算符public class Calculate{

    public static void main(String args[]){ //算数运算符:+、-、*、/、%、++、-- int a=3; int b=2; int c=a+b; System.out.println("c="+c); c=a%b; //取与、求模 System.out.println("c="+c); //自增:++ //前缀++:自身先增加,然后再其他操作 //后缀++:先其它操作,再自身增加 c=a++; System.out.println("c="+c); //3 System.out.println("a="+a); //4 c=++a; System.out.println("c="+c); //5 System.out.println("a="+a); //5 //自减:-- //关系运算符: == != > >= < <= //关系运算符的结果是一个布尔类型的值 a=3;b=2; boolean flag = a>b; System.out.println("flag="+flag); //true //布尔逻辑运算符:& | !^ && || //&: 两个值都为true 结果才为true //|: 只要有一个值为true,结果就为true //!: 取反 true变false false变true //^: 相同为false 不同为true boolean flag2= !(true^false); System.out.println("flag2="+flag2); //简洁与:&& 简洁或:|| //和非简洁与相比,具有短路功能 //第一个表达式结果决定最终的结果,短路功能不会去运行第二个表达式了 a=6;b=8;c=10; int d=12; boolean flag3 = ++a>b++ && c++>d--; System.out.println("flag3="+flag3); //false System.out.println("a="+a); //7 System.out.println("b="+b); //9 System.out.println("c="+c); //10 System.out.println("d="+d); //12 //练习:将以上&&改成& 或 || //赋值运算符:= += -= *= /= %= a=3;b=2; a += b; //a=a+b System.out.println("a="+a); //条件运算符,也称三目运算符 //(表达式1)?表达式2:表达式3 //表达式1结果是布尔类型,表达式2和表达式3类型相同 //表达式1为true,取表达式2的结果,为false时取表达式3的结果 a=3;b=2; int result = (a<b)?1000:100; System.out.println("result="+result); //100 //位运算符:& | ~ ^ << >> >>> a=3; b=2; c = a&b; System.out.println("c="+c); //2 c=~a; System.out.println("c="+c); //-4 c=a<<2; //左移若干位,右边补0 System.out.println("c="+c); a=-2; c=a>>1; //右移若干位,左边补符号位 System.out.println("c="+c);//1 c=a>>>1; //无符号右移若干位,左边补0 System.out.println("c="+c);//1 }

    }public class Test2{

    public static void main(String args[]){ int a=3; int b=2; int c=a/b; //两个int相除结果为int类型 System.out.println("c="+c); //1 float f=a/b; System.out.println("f="+f); //1.0 f = (float)a/b; System.out.println("f="+f); //1.5 f = (float)(a/b); System.out.println("f="+f); //()提高运算的优先级 //练习1: 输出1-a/b的值,输出(1-a)/b c=1-a/b; System.out.println("c="+c); c=(1-a)/b; System.out.println("c="+c); byte b1=3; byte b2=2; byte b3 = (byte)(b1+b2); //byte运算时转成int System.out.println("b3="+b3); b1 += b2; //b1=(byte)(b1+b2) System.out.println("b1="+b1); }

    }public class Test2{

    public static void main(String args[]){ int a=3; int b=2; int c=a/b; //两个int相除结果为int类型 System.out.println("c="+c); //1 float f=a/b; System.out.println("f="+f); //1.0 f = (float)a/b; System.out.println("f="+f); //1.5 f = (float)(a/b); System.out.println("f="+f); //()提高运算的优先级 //练习1: 输出1-a/b的值,输出(1-a)/b c=1-a/b; System.out.println("c="+c); c=(1-a)/b; System.out.println("c="+c); byte b1=3; byte b2=2; byte b3 = (byte)(b1+b2); //byte运算时转成int System.out.println("b3="+b3); b1 += b2; //b1=(byte)(b1+b2) System.out.println("b1="+b1); }

    }public class Test2{

    public static void main(String args[]){ int a=3; int b=2; int c=a/b; //两个int相除结果为int类型 System.out.println("c="+c); //1 float f=a/b; System.out.println("f="+f); //1.0 f = (float)a/b; System.out.println("f="+f); //1.5 f = (float)(a/b); System.out.println("f="+f); //()提高运算的优先级 //练习1: 输出1-a/b的值,输出(1-a)/b c=1-a/b; System.out.println("c="+c); c=(1-a)/b; System.out.println("c="+c); byte b1=3; byte b2=2; byte b3 = (byte)(b1+b2); //byte运算时转成int System.out.println("b3="+b3); b1 += b2; //b1=(byte)(b1+b2) System.out.println("b1="+b1); }

    }

    最新回复(0)