1.数据类型
布尔型为boolean,只能用true和false表示,不能用01表示
整型long需要再后面加上L, long= 10000L;
float需要加上F float a = 2.1F;
与c相比多了byte,为整型,btye < short;
btye一字节,short两字节,int四字节,long八字节
数据类型 | 大小 | 范围 |
---|---|---|
byte | 1 字节 | -128 到 127 |
short | 2 字节 | -32,768 到 32,767 |
int | 4 字节 | -2,147,483,648 到 2,147,483,647 |
long | 8 字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
float | 4 字节 | ±1.4E-45 到 ±3.4028235E+38 |
double | 8 字节 | ±4.9E-324 到 ±1.7976931348623157E+308 |
char | 2 字节 | 0 到 65535 (Unicode 字符) |
boolean | 1 位(实际 1 字节) | true 或 false |
2.键盘录入
1.导包,找到scanner在哪里
import java.util.Scanner;
public class Ascanner {
public static void main(String[] args) {
///2.创建对象,sc为变量
Scanner sc = new Scanner(System.in);
///3.使用变量
int i =sc.nextInt();
System.out.println(i);
}
}
3.键盘录入拓展
有两种模式:
(1)next()、nextInt()、nextDouble()。
(2)nextLine()
第一种模式在接收数据的时候,会遇到空格,回车,制表符其中一个就会停止接收数据。
例如:输入abc fge或者123 456,最后输出只会是abc或者123,剩下的放入缓冲区里面了
键盘从缓冲区读入
import java.util.Scanner;
public class hh {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();//123 456
double b = sc.nextDouble();//22.2
System.out.println(a);//123
System.out.println(b);//456.0
}
}
第二种模式:nextLine()方法是把一整行全部接收完毕。只遇到回车才会结束。
两套键盘录入不能混用,如果混用会有严重的后果。
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
String s = sc.nextLine();
System.out.println(i);//123
System.out.println(s);// (空格)
当代码运行到第二行,会让我们键盘录入,此时录入123。
但是实际上我们录的是123+回车。
而nextInt是遇到空格,回车,制表符都会停止。
所以nextInt只能接受123,回车还在内存中没有被接收。
此时就被nextLine接收了。
所以,如果混用就会导致nextLine接收不到数据。
类似于C语言中getchar类型