常量的分类
- 字符串常量
- 整形常量
- 浮点常量
- 字符常量
- 布尔常量
- 空常量
数据类型
- 基本数据类型:整型,浮点型,字符型,布尔型
- 引用数据类型:字节型,短整型,整形,长整形,单精度浮点数,双精度浮点数,字符型,布尔型
变量
概念::本质上来说变量是内存中的一小块区域,通过变量名来访问这块区域。因此,使用每一个变量前必须要先申请(声明)然后必须对其进行赋值,才能使用 这块区域的大小取决于 声明的数据类型为哪一类。
类型转换,
1. 显式类型转换也叫做强制类型转换。
从存储范围大的类型到存储范围小的类型。
byte→short(char)→int→long→float→double
2.显式类型转换也叫做强制类型转换。
从存储范围大的类型到存储范围小的类型。
double→float→long→int→short(char)→byte
int a = 10;
long b = 100L;
b = a;
// int-->long,数据范围由小到大,隐式转换
a = (int)b;
// long-->int, 数据范围由大到小,需要强转,否则编译失败
float f = 3.14F;
double d = 5.12;
d = f;
// float-->double,数据范围由小到大,隐式转换
f = (float)d;
// double-->float, 数据范围由大到小,需要强转,否则编译失败
a = d;
// 报错,类型不兼容
a = (int)d;
// double没有int表示的数据范围大,需要强转,小数点之后全部丢弃
byte b1 = 100;
// 100默认为int,没有超过byte范围,隐式转换
byte b2 = (byte)257;
// 257默认为int,超过byte范围,需要显示转换,否则报错
boolean flag = true;
a = flag;
// 编译失败:类型不兼容
flag = a;
// 编译失败:类型不兼容
int a = 10;
long b = 20;
int c = a + b;
// 编译出错: a + b-->int + long--> long + long 赋值给int时会丢失数据
long d = a + b;
// 编译成功:a + b==>int + long-->long + long 赋值给long
byte a = 10;
byte b = 20;
byte c = (byte)(a + b);
Scanner
java中的scanner是一个类,是用于扫描输入文本的新的实用程序
Scanner sc =new Scanner(System.in);
Scanner是一个类,sc为创建的一个Scanner的对象,new就创建了这个实例,为其分配变量。
输入的基本类型数据:nextBoolean(),nextByte(),nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble()。
其用法为:Scanner reader = new Scanner(System.in);//先创建对象
然后再使用int x = reader.nextInt();
import java.util.Scanner;
public class Blog {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请输入你的姓名");
String name =sc.nextLine();
System.out.println("请输入你的性别");
String xingbie =sc.nextLine();
System.out.println("请输入你的年龄");
int age = sc.nextInt();
System.out.println("请输入你的工资");
int money = sc.nextInt();
System.out.println("你的基本信息如下:");
System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"性别:"+xingbie+"\n"+"工资:"+money);
sc.close();
}
}
使用 Scanner 循环读取 N 个数字,并求取其平均值
import java.util.Scanner;
public class Blog2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int sum = 0;
int num = 0;
while (scan.hasNextInt()) {
int tmp = scan.nextInt();
sum += tmp;
num++;
}
System.out.println("sum = " + sum);
System.out.println("avg = " + sum / num);
scan.close();
}
}
获取一个随机数
import java.util.Random;
import java.util.Scanner;
public class Text {
public static void main(String[] args) {
Random scan =new Random();
Scanner sanc =new Scanner(System.in);
int tmp=scan.nextInt(101);
while (true){
System.out.println("输入你猜的数字");
int mun=sanc.nextInt();
if (mun>tmp){
System.out.println("你猜大了");
}else if (mun<tmp){
System.out.println("你猜小了");
}else {
System.out.println("你猜对了");
break;
}
}
sanc.close();
}
}