常量和final_变量_基本数据类型_
1.常量
常量通常是指一个固定的值,列如(1,2,3,‘a’,‘b’,
true,“hello”)等。
2.final
用关键字final定义一个常量,常量一旦被初始化后不能再更改其值。(使用final修饰的叫符号)。
int i=10;
String name="张三"; //张三是常量
name="李四"; //name可以重新赋值
使用final修饰(常量的赋值全是使用大写字母)。
final String NAME="张三";
NAME="李四"; //此时编译器报错不能对final局部变量a赋值
3.变量
局部变量(方法或语句块内部定义的变量,除了方法或者语句块就不能使用)变量在使用前必须先声明,再赋值,再使用。
int a; //未初始化
int b=a+1; //报错,因为变量a 没有被初始化。
"###############################################"
int a=10; //初始化a
int b=a+1; //编译正确,结果为11
成员变量(方法外部,类的内部定义的变量,不赋值的情况下会自动初始化成该类型的默认初始值)。
public class Test{
int a ; //成员变量
public static void main(String[] args){
}
}
静态变量(使用static定义,从属于类,类在它在,类不在它不在)。
4.基本数据类型
整形变量
int i=15;
int b=015; //以0开头是8进制,编译结果为13
int c=0x15; //以0x开头是16进制,编译结果为21
int d=0b1101; //以0b开头是2进制,编译结果为13
bytey,short,int,long四种整形数据类型。
byte a=200; //报错,超出byte表述范围,±的127
short b=40000;//报错,超出表述范围,≈±的30000
int c=2200000000;//报错,超出范围,≈±的21亿
long d=7400000000;//报错,整形默认为int类型
(整形默认为int类型)
long d=7400000000L; //后面加上L表示长整型的常量
字符类型(转义字符\t,\n,)
System.out.println('a'+'b'); //结果为195
System.out.println(""+'a'+'b'); //结果为ab
boolean类型有两个常量值,true和false。不可使用0或非0的整数代替。
boolean a=true;
if(a==ture) {
System.out.println("对!");
}
//编译结果为 对!
注意不能写成if(a=tru e){
} 因为这样就是把true赋给了a,结果将永远是true。
位运算符
int a=10<<1; //等价10*2
int i=10>>1; //等价10/2
强制转换(用于显示转换一个数值的类型,在有可能丢失信息的情况下进行的转换是通过强制转型来完成的,但有可能会损失精度)。
double a=97.1;
int b=a; //报错,不能从double转为int
int c=(int)a; //结果为97
System.out.println((char)c);//结果为'a'
使用Scanner获得键盘输入(使用Scanner需要导入import java.util.*;或者java.util.Scanner;)
import java.util.*;
public class Testscanner {
public static void main(String[] args) {
Scanner sca=new Scanner(System.in);
System.out.println("请输入名字");
String name=sca.nextLine();
System.out.println("请输入年龄");
int age=sca.nextInt();
}
}