public class TestJava { /** * 主方法 * 一个类如果用public声明 那么它必须与文件名一致 如左边*.java */ public static void main(String[] args) { int num = 10; byte age = 20; float price =12.5f; double weight = 12.5; } }
数据类型是会根据情况自动转换的 1.自动类型转换:低到高
比如:byte a = 10;int num = b;
double d = 10;用system.out.println(d);会答应出10.0;
2.强制转换
double d = 10.1;
int a = 10;
此时输出会省略d的小数部分输出10;
此处注意 float f = 3.1是错误的,因为java中3.1默认为double,我们应该这样定义 float f =3.1f(大小写均可)或者float f =(float)f 3.1
上面主要是变量,接下来是常量
对于变量或者是常量,都需要先声明
1 2 3
语法: final 数据类型 常量名称 = 值 规范:常量名称通常使用大写字母,比如PI、YEAR等等 规则:常量名称符合标识符的要求,只能用字母、数字、_、$组成,不能以数字开头、不能使用关键词
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
public class TestFinal { static final int YEAR = 365; //定义一个常量(在main外或者里面都可以) //main方法是静态的 所以上面定义也要加static public static void main(String[] args) { System.out.println("一年有"+YEAR+"天"); System.out.println("两年有"+YEAR*2+"天"); } } 如果把YEAR的定义放在main里面就可以不加 public class TestFinal{ public static void main(String[] args) { final int YEAR = 365; System.out.println("一年有"+YEAR+"天"); }
}
变量的声明和赋值已经在上文表明,就不再赘述了
1 2 3 4 5 6 7 8 9 10
public static void main(String[] args) { int num = 10; System.out.println("num="+num); double money = 1000000; System.out.println("money="+money); num = 100; System.out.println("num="+num); char ch = 'z'; System.out.println("ch="+ch); }
public class Test { static int k = 1; //即为成员变量---在类体中定义 public static void main(String[] args) { }
}
2.局部变量 在一个函数(方法)或代码块中定义的变量
特点:局部变量在方法或代码块被执行的时候创建,在结束时被销毁
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
public class Test {
public static void main(String[] args) { int a = 1; //以下就是一个块 { int b = 2; System.out.println("a="+a); System.out.println("b="+b); } int b = 3; //因为在上面执行结束后 代码块就被销毁了 System.out.println("a="+a); System.out.println("b+"+b); }
public class Test { static int var = 1; public static void main(String[] args) { int var = 2; System.out.println("the value of var = "+var); }
}
例二: public class Test { static int var = 1; public static void main(String[] args) { int var = 2; System.out.println("the value of var = "+var); pt(); } public static void pt() { System.out.println("the value of var = "+var); }
}
#如果不删除int var = 2,结果会显示 2,删除后则为1;
另外一个小知识: Java在作用范围中禁止嵌套,在C/C++中是可以的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
报错 public static void main(String[] args) { int a = 1; { int a =2 System.out.println("a="+a); } } 在C语言中正确 #include<stdio.h>
int main() { int a = 1; { int a=2; printf("%d",a); } }
challenge1
1 2 3 4 5 6 7 8 9 10
1-100的累加和 public class Test{ public static void main(String[] args){ int sum = 0; for(int i = 1;i <= 100;i++){ sum += i; } System.out.println("sum = " + sum); } }