编译时报错,叫做编译失败
class Demo01
{
public static void main(String[] args)
{
int a;
a=12;
System.out.println(a);
}
}
n 变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
public static void main(String[] args) {
int x;
x = 20; //为x赋值20
System.out.println(x);//读取x变量中的值,再打印
}
n 变量使用时有作用域的限制。
public static void main(String[] args) {
int x = 20;
{
int y = 20;
}
System.out.println(x);//读取x变量中的值,再打印
System.out.println(y);//读取y变量中的值失败,失败原因,找不到y变量,因为超出了y变量作用范围,所以不能使用y变量
}
n 变量不可以重复定义。
public static void main(String[] args){
int x = 10;
double x = 5.5;//编译失败,变量重复定义
}
只有数值类型才存在类型转换,小转大自动转,大转小需要强制转。
byte -> short -> int -> long -> float -> double(小转大)
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值(强制类型转换)
class Demo01
{
public static void main(String[] args)
{
/*int a;
a=12;
System.out.println(a);*/
//小转大(自动转换)
double a =1;
System.out.println(a);
//大转小(强制类型转换)
int b=(int)a;
System.out.println(b);
//大转小会丢数据
double c=2.6;
int d=(int)c;
System.out.println(d);
}
}
代码:
class Demo02
{
public static void main(String[] args)
{
//加法的连接字符串
int a=1;
double b=12;
System.out.println("a+b="+a+b);
}
}
结果:
结论:谁与字符串拼接, + 号都起到连接作用,如有计算,计算部分需要用括号括起来。
减号只能在数值类型中做减法运算
a++:先赋值a++赋值,a再自增+1
class Demo04
{
public static void main(String[] args)
{
int a=1;
int b=a++ + 2;
System.out.println(a);
System.out.println(b);
}
}
结果:
class Demo04
{
public static void main(String[] args)
{
int a=1;
int b=a++ + 2 + ++a + a++;
System.out.println(a);
System.out.println(b);
}
}
结果:
class Demo04
{
public static void main(String[] args)
{
int a=1;
int b=a++/*数值为1*/ + 2 + a++/*数值为2*/;
System.out.println(a);//有几个a++或者++a,a就+几
System.out.println(b);
}
}