1. 基本数据类型:
整型:int,short,long,byte
浮点型:float,double(float类型的数值后有一个后缀F,没有后缀的浮点数值默认为double类型)
char类型
boolean类型:true,flase
public class DataValueMaxMin { public static void main(String[] args) { System.out.printf("short range: %d~%d/n", Short.MIN_VALUE, Short.MAX_VALUE); System.out.printf("int range: %d~%d/n", Integer.MIN_VALUE,Integer.MAX_VALUE); System.out.printf("long range: %d~%d/n", Long.MIN_VALUE,Long.MAX_VALUE); System.out.printf("byte range: %d~%d/n", Byte.MIN_VALUE,Byte.MAX_VALUE); System.out.printf("float range: %e~%e/n", Float.MIN_VALUE,Float.MAX_VALUE); System.out.printf("double range: %e~%e/n", Double.MIN_VALUE,Double.MAX_VALUE); } }
|
输出结果:
short range: -32768~32767
int range: -2147483648~2147483647
long range: -9223372036854775808~9223372036854775807
byte range: -128~127
float range: 1.401298e-45~3.402823e+38
double range: 4.900000e-324~1.797693e+308
2.变量、常量
在java中,利用关键字final来声明常量
final double CM_PER_INCH = 2.54;
CM_PER_INCH = 3.00;//无法为最终变量 CM_PER_INCH 指定值
public class Constants { public static void main(String[] args) { final double CM_PER_INCH = 2.54; double paperWidth = 8.5; double paperHeight = 11; //CM_PER_INCH = 3.00; System.out.println("Paper size in centimeters:" + paperWidth * CM_PER_INCH + " by " + paperHeight * CM_PER_INCH); } } |
输出结果:
Paper size in centimeters:21.59 by 27.94
public class Constants { public static void main(String[] args) { double paperWidth = 8.5; double paperHeight = 11; System.out.println("Paper size in centimeters: " + paperWidth * CM_PER_INCH + " by " + paperHeight * CM_PER_INCH); } public static final double CM_PER_INCH = 2.54; } |
输出结果:
Paper size in centimeters: 21.59 by 27.94
3.运算符
与C类似
位运算符:&,|,^,~,>>,<<,
>>>运算符用0填充前面的位,>>用符号位填充左侧的位,没有<<<运算符
public class ShiftOperator { public static void main(String[] args) { int number = 1; System.out.println("2的0次:" + number); number = number << 1; System.out.println("2的1次:" + number); number = number << 1; System.out.println("2的2次:" + number); number = number << 1; System.out.println("2的3次:" + number); } } |
2的0次:1
2的1次:2
2的2次:4
2的3次:8
4.输入用法
import java.util.*;
public class UserInput { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Please input your name:"); //String input = scanner.next(); System.out.println("Your name:" + scanner.next()); } } |
输出结果:
Please input your name:Edgar
Your name:Edgar
import java.util.*;
public class UserInput { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Please input your name:"); String input = scanner.next(); System.out.println("Your name:" + input); } } |
输出结果
Please input your name:Edgar
Your name:Edgar
*当我们输入包含空格额时候:
Please input your name:Edgar cheung
Your name:Edgar
还可以使用Scanner的nextFloat()、nextBoolean()等方法来取得使用者的输入
Scanner
使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。(JDK文档)
在输入时按下空格、tab、回车键,Scanner会传回下一个输入
这时需要调用nextLine()方法
import java.util.*;
public class UserInput { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Please input your name:"); String input = scanner.nextLine(); System.out.println("Your name:" + input); } } |
输出结果:
Please input your name:Edgar Cheung
Your name:Edgar Cheung
*要想取得包括空格字符的输入,可以使用BufferedReader方法:
import java.io.*;
public class GetInput { public static void main(String[] args) throws IOException{ BufferedReader bufferedreader = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Please input a sentences: "); String input = bufferedreader.readLine(); System.out.println(input); } } |
输出结果:
Please input a sentences: I'll try my best!
I'll try my best!