JAVA基础课程-变量-唐霞JAVA基础课程-变量每个程序相当于一个世界JAVA基础课程-变量Java数据类型:基础数据类型和复合型数据类型基础数据类型:整数型(byte,short,int,long)小数(浮点数)类型(float,double)字符类型(char)布尔类型(boolean)复合型数据类型:数组,类,接口比如常见的StringJAVA基础课程-变量整数型(byte、short、int、long)数字(没有小数点的)默认为int型,而long类型表示的范围要超出int表数范围,所以,声明long类型时,常量后要加L(l)。如:longl1=12345678//数值在int范围之内,还不会出错longl2=8888888888;//数值在int范围之外,会出错longl3=8888888888L;//正确JAVA基础课程-变量课堂练习:把HelloWorld中定义两个int型变量,并进行求和运算,在控制台打印出结果问题分析:1.int是什么?//int是变量类型,表示32位的整数2.如何定义变量?3.求和如何实现?4.输出结果如何打印?JAVA基础课程-变量变量的声明变量的声明当需要使用一个变量时,必须对该变量进行声明变量的声明包含两点:变量类型和变量名JAVA基础课程-变量变量的声明未经声明的变量不能使用:Java语言语法规定,变量使用之前必须声明,否则会有编译错误JAVA基础课程-变量变量的声明一条语句中声明多个同类型变量:如果多个变量的类型一样,可以在一条语句中声明,中间用逗号分隔。JAVA基础课程-变量变量的声明变量的命名必须符合Java标识符的规则:-可以由字母、数字、_和$符组成;-首字符不能以数字开头;-Java大小写敏感,命名变量时需要注意;-不能使用Java保留字(一些Java语言规定好的,有特殊含义的字符),如int、if、for、break等;-中文可以作为变量名,但不提倡使用。Java变量名的定义应“见名知意”;Java编程规范要求:变量的命名需采用“驼峰命名法”,即如果变量的名字由多个单词组成,除第一个单词外,其他单词的首字母大写,其余的字母小写。例如:salary、javaScore、studentName等JAVA基础课程-变量变量的声明下面的代码正确吗?int123go=100;int成绩=60;intbreak=200;intscore=80;System.out.println(Score);publicstaticvoidmain(String[]args){inta,b=10;intc=a+b;System.out.println(c);}JAVA基础课程-变量浮点类型(float、double)*浮点型默认为double,所以float类型声明时后面需要加f/F;或者用强制转换符。Floatf1=(float)0.1;Floatf2=0.1f;两者的区别:f1为八个字节的double类型,强制转换为四个字节的float类型。f2本身就是四个字节的float类型。JAVA基础课程-变量字符类型(char)每个字符占两个字节;值放在“”里;如:CharcharTest='a'思考题:1.如果想表示两个字母怎么办?2.如果两个字符相加会怎么样?3.chara=‘中’;是否会报错?charc1='中';System.out.println(c1);JAVA基础课程-变量布尔类型(boolean)true/false,不可以以0或非0的数字代替;不能进行数据之间的转换。如:booleanflag=true;思考题:1.booleanflag=0;是否正确JAVA基础课程-变量基本数据类型之间的转换原则:各数据类型按容量大小(表数范围大小)由小到大排列为:Byte,short,char——int——long——float——double转换时遵循的原则:1)容量小的类型自动转换为容量大的类型;2)容量大的类型转换为容量小的类型时,要加强制转换符;3)byte,short,char之间不会互相转换,并且三者在计算时首先转换为int类型;4)实数常量默认为double类型,整数常量默认为int类型;字符型为什么也能和整形、浮点型进行运算呢?字符型在机器内部也是数字。进行计算时,先获得字符的ascii码,然后再进行计算。JAVA基础课程-变量转换举例:Inti1=123;Inti2=456;Doubled1=(i1+i2)*1.2//容量小的类型自动转换为容量大的类型Floatf1=(float)(i1+i2)*1.2//容量大的类型转换为小容量的类型时,需要加上强制转换符Byteb1=1;Byteb2=2;Byteb3=(byte)(b1+b2);//byte,short,char在计算时首先转换为int大容量(int)转换为小容量的类型(byte)时要加强制转换符JAVA基础课程-变量Java语言中常用的运算符可分为如下几种:算术运算符(+-*/%++--)赋值运算符(=+=-=*=/=%=)比较运算符(====!=)逻辑运算符(&&||!^)条件运算符(?:)JAVA基础课程-变量算数运算符其中,++和--既可以出现在操作数的左边,也可以出现在右边,但结果不同,自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如5++、8--等写法都是错误滴!%用来求余数,也称为”取模运算符“JAVA基础课程-day1赋值运算符赋值运算符是指为变量或常量指定数值的符号。如可以使用“=”将右边的表达式结果赋给左边的操作数。JAVA基础课程-day1publicclassHelloWorld{publicstaticvoidmain(String[]args){intone=10;inttwo=20;intthree=0;}}以下语句执行后,three的值为多少?three=one+two;three+=one;three-=one;three*=one;three/=one;three%=one;JAVA基础课程-变量课堂练习:把HelloWorld中定义两个int型变量,并进行求和运算,在控制台打印出结果问题分析:1.int是什么?//int是整数类型2.如何定义变量?//inta=10;intb=11;或者inta=10,b=11;3.求和如何实现?//intc=a+b;4.输出结果如何打印?System.out.println(“计算结果是:”+c);或者System.out.println(“计算结果是:”+(a+b));思考:System.out.println(“计算结果是:”+a+b);会输出什么结果?JAVA基础课程-变量课堂练习:定义鸡11只,鸭85只,鹅180只,兔61只求共有动物多少只?求平均多少只?求取鸡和兔的差值?求取鸡自减后多少只?JAVA基础课程-变量比较运算符比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值(true或false)。1、、、=、=只支持左右两边操作数是数值类型2、==、!=两边的操作数既可以是数值类型,也可以是引用类型JAVA基础课程-变量课堂练习:publicclassCalculateThree{publicstaticvoidmain(String[]args){inta=16;doubleb=9.5;Stringstr1=hello;Stringstr2=imooc;System.out.println(a等于b:+(a==b));System.out.println(a大于b:+(ab));System.out.println(a小于等于b:+(a=b));System.out.println(str1等于str2:+(str1==str2));}}JAVA基础课程-变量逻辑运算符我们可以从“投票选举”的角度理解逻辑运算符:1、与:要求所有人都投票同意,才能通过某议题2、或:只要求一个人投票同意就可以通过某议题3、非:某人原本投票同意,通过非运算符,可以使其投票无效4、异或:有且只能有一个人投票同意,才可以通过某议题JAVA基础课程-变量课堂练习:输出结果是什么?publicclassCalculateFour{publicstaticvoidmain(String[]args){booleana=true;booleanb=false;booleanc=false;booleand=true;System.out.println(a&&b);System.out.println(a||b);System.out.println(!c);System.out.println(c^d);}}JAVA基础课程-变量课堂练习:以下运算为true的是:JAVA基础课程-变量条件运算符条件运算符(?:)也称为“三元运算符”。语法形式:布尔表达式?表达式1:表达式2运算过程:如果布尔表达式的值为true,则返回表达式1的值,否则返回表达式2的值例如:因为,表达式85的值为true,所以,返回:8大于5JAVA基础课程-变量课堂练习:输出结果是什么?publicclassCalculateFive{publicstaticvoidmain(String[]args){intscore=68;Stringmark=(score60)?合格:不合格;System.out.println(结果是:+mark);}}JAVA基础课程-变量运算符优先级所谓优先级,就是在表达式中的运算顺序。Java中常用的运算符的没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理JAVA基础课程-变量课堂练习:优先级最高的运算符是JAVA基础课程-变量课堂练习:表达式(11+3*8)/4%3的结果是()JAVA基础课程-变量课堂练习:实现功能“判断一个数是否是偶数,如果是偶数,判断它是否大于100”(Demo2)?Yes:no