1.变量:存数的,代词,指代的就是他所存的那个数
1)声明:
int a; //声明一个整数的变量,名为a
int b,c,d;//声明三个整形的变量,名为b,c,d
2)初始化:第一次赋值
int a = 250;//声明整形变量a病赋值为250
int b;//声明整形变量b
b = 250;//给变量b赋值为250
b = 360;//修改变量b的值为360
3)使用:
3.1)对变量的使用就是对他所存的那个数的使用
int a = 5;
int b = a + 10;//取出a的值5,加10后,在赋值给b
System.out.println(b);//输出变量b的值15
System.out.println(b);//输出b,双引号中的原样输出
a = a + 10;//取出a的值5,加10后,在赋值给a,在a本身基础之上增10
System.out.println(a);//输出变量a的值15
3.2)变量的使用必须与数据类型匹配
int a = 3.14;//编译错误,数据类型不匹配
3.3)变量在使用之前必须声明并初始化
System.out.println(m);//编译错误,m未声明
int m;
System.out.println(m);//编译错误,m为初始化
4)命名:
4.1)只能包含字母、数字、_和$符,并且不能数字开头
4.2)严格区分大小写
4.3)不能使用关键字
4.4)可以中文命名,但不建议 ,建议“英文的见名知意”、“驼峰命名法”
2. 8种基本数据类型:
1)int:整形,4个字节,-21个多亿到21个多亿
1.1)整数直接量默认为int类型,但不能超出范围,超范围则编译错误
1.2)两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
1.3)整数运算时若超出范围,则发生溢出,溢出是需要避免的
2)long:长整型,8个字节,很大很大
2.1)表示长整型直接量,需要数字后加L或l
2.2)运算时若有可能溢出,建议在第一个数字后加L
2.3)System.currentTimeMillis()用于获取自1970.1.1零时到此时此刻所经历的毫秒数
3)double:浮点型,8个字节,很大很大
3.1)浮点数直接量默认为double型,若想表示float需在数字后加F或f
3.2)double和float数据参与运算时,有可能会出现舍入误差,精确运算场合不建议使用
4)boolean:布尔型,1个字节
4.1)只能取值为true或false
5)char:字符型,2个字节
5.1)采用Unicode字符集编码,每个字符都对应一个码,表现的形式为字符char,但本质上是码int(0到65535之间)(ASCII:‘a’–97 ‘A’–65 ‘0’–48)
5.2)字符型直接量必须放在单引号中,只能有一个
5.3)特殊符号需通过\来转义
3:基本数据类型间的转换:
从小到大依次为:byte,short,int,long,float,double
char,
1)两种方式:
1.1)自动类型转换:小类型到大类型
1.2)强制类型转换:大类型到小类型(要转换成为的数据类型)变量,强转有可能会发生溢出或精度的丢失
2)两点规则:
2.1)整数直接量可以直接赋值给byte,short,char,但不能超出范围
2.2)byte,short,char型数据参与运算时,先一律转换为int在运算
4.Scanner接收用户的输入:
1在package下:
import java.util.Scanner;
2)在main中:
Scanner scan = new Scanner(System.in);
3)在第2步之下:
System.out.println(“请输入年龄:”);
int age = scan.nextlnt();
System.out.println(“请输入价格”);
double price = scan.nextDouble();
//基本数据类型间的转换:
int a = 5;
long b = a; //自动类型转换
int c = (int)b; //强制类型转换
long d = 5; //自动类型转换
double e = 5; //自动类型转换
System.out.println(e); //5.0
long f = 10000000000L;
int g = (int)f;
System.out.println(g); //强转有可能发生溢出
double h = 25.9876;
int i = (int)h;
System.out.println(i); //强转有可能丢失精度
byte b1 = 5;
byte b2 = 6;
byte b3 = (byte)(b1+b2);
System.out.println(2+2); //4
System.out.println(2+'2'); //52
System.out.println('2'+'2'); //'2'的码50,加上,'2'的码50
//4)boolean:布尔型,1个字节
boolean b1 = true; //true为布尔型直接量
boolean b2 = false; //false为布尔型直接量
//boolean b3 = 250; //编译错误,布尔型只能取值为true或false
//5)char:字符型,2个字节
char c1 = '女'; //字符女
char c2 = 'f'; //字符f
char c3 = '6'; //字符6
char c4 = ' '; //空格符
//char c5 = ''; //编译错误,不允许空字符
//char c6 = '女性'; //编译错误,只能有一个字符
//char c7 = 女; //编译错误,字符必须放在单引号中
char c8 = 97; //0到65535之间
System.out.println(c8); //a
char c9 = '\'';
System.out.println(c9); //'
import java.util.Scanner; //1.
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //2.
System.out.println("请输入年龄:");
int age = scan.nextInt(); //3.
System.out.println("请输入价格:");
double price = scan.nextDouble(); //3.
System.out.println(age);
System.out.println(price);
}
}