Java语法基础
标识符
就是在程序中自定义的名词。比如包名、类名、变量名、方法名。
命名规则:
✓只能包含0-9、a-z、A-Z、$、_;
✓不能以数字开头;
✓不能使用Java的关键字和保留字;
示例:
$user,正确;
0dpt,错误;
关键字(51):就是java语言赋予了特殊含义的单词。
abstract,assert,boolean,break,byte,case,catch,char,class,const,continue,default,do,double, else,enum,extends,final,finally,float,for,if,implements,import,instanceof,int,interface,long, native,new,package,private,protected,public,return,short,static,strictfp,super,switch, synchronized,this,throw,throws,transient,try,void,volatile,while
保留字(14):就是java还没有赋予特殊含义,但是准备日后要使用过的单词。byValue,cast,false,future,generic,inner,operator,outer,rest,true,var,goto,const,nul l
包(package)
作用:为了更好的管理类,可以解决类重名的问题;
命名规范:
包的名称全部小写;
一般包的命名规范是:com.公司简称.项目简称.模块名称.代码分层名称;
示例:com.hsoft.ilearning.lesson.dao
1.1.类(class)
命名规范:所有单词首字母大写,驼峰式命名;
示例:BookMgtSys
1.2.方法(method)
命名规范:方法单词的第一个字母要小写,其他字母也要小写;如果由多个单词构成,除了第一个单词的首字母外其他每个单词的首字母都要大写。
示例:getStudentCount()
1.3.变量
变量的概念:用来存储可变数据的容器。
✓内存中的一个存储区域;
✓该区域有自己的名称(变量名)和类型(数据类型);
✓该区域的数据可以在同一类型范围内不断变化;
为什么要定义变量?
用来不断的存放同一类型的常量,并可以重复使用;
使用变量注意:
✓变量的作用范围(也称作用域,在一对{}之间有效);
✓变量尽量放在代码段的初始位置;
✓养成给变量设置初始化值的习惯;
定义变量的格式:
数据类型变量名=初始化值;
变量名=新值;
示例:
int age=18;
age=30;
命名规范:和方法的命名规范一样;
1.4.常量
常量的概念:相对变量而言,是在程序中的不会变化的数据;
定义常量的格式:
final数据类型变量名=初始化值;
示例:final int AGE=18;
命名规范:所有字母都大写,单词之间用下划线分割;
示例:MAX_UNIT_COUNT
2.
数据类型
2.1.基本(原始)数据类型
类型长度最小值最大值
整数byte1个字节-128127
short2个字节-3276832767
int4个字节-21474836482147483647
long8个字节-92233720368547758089223372036854775807
浮点数float4个字节-3.4028235E38 3.4028235E38
double8个字节-1.7976931348623157E308 1.7976931348623157E308
字符char2个字节065535布尔boolean1个字节true或false
后缀:
int age=25;//默认是int型
long number=20L;//数字后面加L或l表示是long型
double d1=12.02;//默认是double型
double d2=12.02d;//效果等同于d1
float f=10.01F;//数字后面加F或f表示是float型
八进制和十六进制:
可以使用八进制、十六进制的类型:long,int,short,byte
八进制表示:以0作为前缀,数码有0,1,2,3,4,5,6,7,逢8进位
如:17(十进制)→021(八进制)
十六进制表示:以0x作为前缀,数码有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,逢16进位如:23(十进制)→0x17-》00010111零基础学java编程
如果想存储大整型,可以使用BigInteger类
add(加)、subtract(减)、mod(求余数)、pow(次方)、divide(除)、multiply(乘)
如果想存储大浮点型,且想要精确值,可以使用BigDecimal类
add(加)、subtract(减)、pow(次方)、divide(除)、multiply(乘)、round(四舍五入)
注意:
浮点型是近似值,不要去比较浮点型的大小;
如何比较两个浮点型变量的大小?
double d1=1.0009;
double d2=1.0009000000001;
BigDecimal bd1=new String(d1));
BigDecimal bd2=new String(d2));
int result=bd1pareTo(bd2);
2.1.1.类型转换
2.1.1.1.自动类型转换(隐式转换)
赋值操作:把范围小的数据类型变量赋值给范围大的数据类型变量;
大范围的数据类型的变量=小范围的数据类型的变量;
双目运算符:运算符的两个操作数,范围小的数据类型的操作数会自动转换为范围大的数据类型;
int num1=25;
long num2=num1;
自动类型转换是安全的;
2.1.1.2.强制类型转换
把范围大的类型强制转换为范围小的类型,这种转换是不安全的,有可能会发生数据溢出现象。
例如:
int n=72378;
short s=(short)n;
2.1.1.
3.特殊的隐式转换
一般的隐式转换都是范围小的类型转换为范围大的,但如果一个赋值计算语句右边是常量,则会出现范围大的类型隐式转换为范围小的类型。
例如:
short s+=38000;//相当于short s=s+(short)38000;
short s=1;
面试题:
int a=10/0;有错吗?为什么?
double d=3.0/0有错吗?为什么?
short s=5;s=s+3;这条语句有错吗?为什么?
short s=5;s+=3;这条语句有错吗?为什么?
char类型的变量可以保存汉字吗?为什么?
2.2.引用类型
自己创建的类或者接口
JDK提供的(官方),比如Random,String,Date,List
第三方提供的(非官方,草根)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论