- 自动类型提升:
结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte、char、short–>int–> 1ong–> float- -> double
特别的:当byte、char、short 三种类型的变量做运算时,结果为int型。 - 两个特殊情况:
class VariableTest4 {
public static void main(String[] args) {
//1.编码情况1:
long 1= 123213;
System . out .println(1);
//编译失败:过大的整数
//long l1=21332423235234123;
long l1= 21332423235234123L;
//***************
//编译失败
//float f1 =12.3;
f1oat f1
: (float)12.3;
//2.编码情况2:
𤨣型常量,默认类型为int型
浮点型常量,默认类型为double型
byte b = 12;
1/byte b1=b+1;/1编译失败
//float f1 = b + 12.3;//编译失败 - String类型变量的使用
- String属于引用数据类型,翻译为:字符串
- 声明String类型变量时,使用一对"”
- string可以和8种基本数据类型变量做运算,且运算只能是连接运算:+; 运算的结果仍然是String类型。
由上图可看出,对于连续➕的情况,从左往右,当为非字符串相加时,需相加;当为字符串时,其后所有均为字符串。
-
对于整数,有四种表示方式:
二进制(binary):0,1,满2进1.以0b或0B开头。
十进制(decimal):0-9,满10进1。
八进制(octal):0-7满8进1.以数宇0开头表示。
十六进制(hex):0-9及A-F,满16进1.以Ox或ex开头表示。此处的A-F不区分大小写。如:0x21AF +1= 0x21B0
short s1= 10;
//s1 = s1 + 2;//编译失败
s1 += 2; //结论:不会改变变量本身的数据类型
System.out.println(s1);
//开发中,如果希望变量实现+2的 *** 作,有几种方法?(前提:int num = 10;)
//方式1:num=num +2;
//方式二:num +=2;(推荐)
//开发中,如果希望变量实现+1的 *** 作,有几种方法?(前提:int num = 10;)
//方式一:num = num + 1;
//方式二:num += 1;
//方式三:num++;(推荐)
if-else语句说明:
- 凡是可以使用三元运算符的地方,都可以改写为if-else,反之,不成立。
如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。
int X = 4;
int Y=1;
if (x > 2)
if (y > 2)
System.out.println(x + y);
//System.out.println(“atguigu”);
else //就近原则(在无大括号的时候,以与之最近的if语句合为判断语句)
System.out.printIn("x is " + x);
switch语句的说明:
- 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。
当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构
末屋结束为止。 break,可以使用在switch-case结构中,表示一旦执行到此关键宇,就跳出switch-case结构 - switch结构中的表达式,只能是如下的6种数据类型之:
byte、short、char、int、枚举类型(JDK5.0新增)、string类型(JDK7.0新增) - case 之后只能声明常量。不能声明范围。break关键字是可有无的。
default:相当于if-else结构中的else。default结构是可有无的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)