1、标识符:标识符可以简单的理解为一个名字,我们需要表示程序代码的很多元素,例如 包、类、方法、代码段、变量等。我们选择的名字就成为标识符。标识符有下面这四个原则:
标识符是由字母、数字、下划线、$符组成。但不能包含@、%、空格等。标识符可以由数字组成,但是数字不能作为开头。Java的标识符是严格区分大小写的。再选择标识符时,要具有意义。面试题可能包含。
2、关键字:在java语言中已经被赋予特定意义的一些单词。一共有53个关键字。其中有两个保留字:const和goto。注意关键字不能被用作标识符!!
注意:const 和goto可能会当做面试题。
3、注释:Java代码的解释说明。不影响程序的运行,用于辅助读程。Java的注释分为下面三种类型。
单行注释 // 注释内容多行注释 /* 注释内容 */文档注释 /** 注释内容 */这里的文档注释可以用作对代码段进行注释,一般解释方法的用法、功能等。在Eclipse里只要将鼠标光标放在方法、关键字等上,就可以查看它的文档注释,第一行是存放的地址,后面是相应的解释。
了解就行
4、变量:在Java中,有些数据值是不固定的,我们还要记录这些值,我们可以把这些值理解成变量。通过三个元素描述变量,变量类型、变量名、变量值。
例:int age=18;
int age; //有时我们不能确定变量的值,可以先不定义。
5、常量:在Java运行过程中一直不会变的量。
Java中数据类型分为量大类:一类是基本类型,另一种是引用类型。
1、基本类型
练习1:输出最大最小值
package cn.tedu.basic; //测试基本类型的取值范围 public class Test1_Scope { public static void main(String[] args) { //测试整数类型byte、short、int、long //定义变量来记录最大最小值 byte max=Byte.MAX_VALUE; byte min=Byte.MIN_VALUE; System.out.println("关于byte: 最大值:"+max+" 最小值:"+min); //定义变量来记录最大最小值 short maxSho=Short.MAX_VALUE; short minSho=Short.MIN_VALUE; System.out.println("关于short: 最大值:"+maxSho+" 最小值:"+minSho); //定义变量来记录最大最小值 int maxIn=Integer.MAX_VALUE; int minIn=Integer.MIN_VALUE; System.out.println("关于int: 最大值:"+maxIn+" 最小值:"+minIn); //定义变量来记录最大最小值 long maxLon=Long.MAX_VALUE; long minLon=Long.MIN_VALUE; System.out.println("关于long: 最大值:"+maxLon+" 最小值:"+minLon); //定义变量来记录最大最小值 float minFlo=Float.MIN_VALUE; float maxFlo=Float.MAX_VALUE; System.out.println("关于float: 最大值:"+maxFlo+" 最小值:"+minFlo); //定义变量来记录最大最小值 double minDou=Double.MIN_VALUE; double maxDou=Double.MAX_VALUE; System.out.println("关于double: 最大值:"+maxDou+" 最小值:"+minDou); } }练习2:字符串拼接,输出姓名
package cn.tedu.basic; import java.util.Scanner; //通过+完成字符串的拼接 public class Test2_Inof { public static void main(String[] args) { // TODO Auto-generated method stub //输出:大家好,我叫XXX System.out.println("请输入您的姓名:"); //创建Scanner对象 Scanner scanner=new Scanner(System.in); if(scanner.hasNext()) { String name=scanner.next(); System.out.println("大家好,我叫"+name+",很高兴见到大家!"); } scanner.close(); } }练习3:计算圆形面积
package cn.tedu.basic; import java.util.Scanner; public class Test3_Round { public static void main(String[] args) { //计算圆形的面积 System.out.println("请输入圆形半径:"); Double area=new Scanner(System.in).nextDouble(); System.out.println("圆形的面积为:"+3.14*area*area); } }练习4:变量值交换
package cn.tedu.basic; import java.util.Scanner; public class Test4_Exchange { public static void main(String[] args) { // TODO Auto-generated method stub //用户输入a和b的值,将a和b的值进行交换 System.out.println("请输入a的值:"); int a=new Scanner(System.in).nextInt(); System.out.println("请输入b的值:"); int b=new Scanner(System.in).nextInt(); int c=a; a=b; b=c; System.out.println("交换后a="+a+",b="+b); } }这里由于double是非精准的,是由于在内存存储的方式造成的,所以会造成结果不准确。
2、引用类型
引用类型是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。如:类,接口,数组等。
int a = 999999999;//错,右侧是int类型,但是超出范围
byte,short,char三种在范围内值可以直接赋值byte b=127;//对
byte b=128;//错,右面已经超过byte范围是int类型的数据
浮点数的字面值是doubledouble a=3.14;//对
float a=3.14;//错,右面是double,float是四字节double是八字节存不下
通过加后缀的方式L –long 如:long a = 99999999999;//错,超出范围,解决方案加L 例:long g=10000000000L;
F –float 如:float a = 3.14;//错,右面是double类型,解决方案加F 例:float s=5.5f;
D –double 如:double a=3;//错,右面是int,解决方案加D或者改成3.0(不加也没影响)
进制前缀0b - 2进制
0x - 16进制
0 - 8进制
\u - char类型,16进制 \u0000char类型的默认值
需要进行强制类型转换。
例如:int i=365; byte b=(byte) i; //如果不转换就会报错
3/2 得1 ,而不是1.5,结果是int类型
3d/2 得1.5,相当于double/int,结果是double类型
byte,short,char三种比int小的整数,运算时会先自动转换成intbyte a=3;
byte b=4;
byte c=a+b;//错,运行时,byte会先自动转成int再运算,int+int还是int
整数运算溢出整数运算,类似于一个中标,转到最大时,再转会回到最小。
计算:光速运行一年的长度是多少米
System.out.println(300000000*60*60*24*365);
System.out.println(300000000l*60*60*24*365);
浮点数运算不精确System.out.println(1-0.8);
System.out.println(4.35*100);
浮点数的特殊值Infinity 无穷大 3.14/0
Nan not a number 0/0.0