志达IT
做快乐程序员

java语法的基础

java语法的基础

1、标识符
java中用来给变量、方法、类、接口等命名的名称称为标识符;(名称=标识符)
标识符的命名规则:
(1)、包名:所有字母一律小写。如:com.abc.demo。
(2)、类名和接口名:每个单词的首字母大写,其余小写。如:StudentDemo,HelloWorld。
(3)、常量名:所有字母都大写,单词间以下划线(_)连接。如:DAY_OF_MONTH。
(4)、变量名和方法名:第一个单词首字母小写,从第二个单词开始每个单词首字母大写。即驼峰式命名法。如:chineseScore,getTotalMoney()。
(5)、在程序中,应尽量使用有意义的英文单词来定义标识符,即见名知义,这样便于阅读。如:password表示密码,name表示姓名等
2、关键字
java中赋以特定的含义的,有专门用途的字符串称为关键字;并且java中所有的关键字都是小写;
数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
数据类型:boolean、int、long、short、byte、float、double、char、class、interface
流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
保留字:true、false、null、goto、const。
3、注释
注释:java中的注释不会出现在任何可执行程序中
行内注释:在每行开头标价//,注释内容是从//开始到本行结尾
多行注释:使用/*和*/注释界定符将一段比较常的注释括起来
文档注释:以/**开始,以*/结束,这种注释可以用来自动生成文档;
注意:在java中,/**/注释不能嵌套,也就是说,不能简单的把代码用/*和*/括起来作为注释,因为这段代码本身可能也包含一个*/界定符
4、基本数据类型
java是一种强类型语言,必须为每个变量声明一种类型;
java中的数据类型主要分为4类8种:4种整型、2种浮点类型、1种字符类型和一种布尔类型java
1、整数类型:
整型用于表示没有小数部分的值,允许是负数
int
4个字节
取值范围:-2147483648~2147483648(刚好超过20亿)
short
2个字节
取值范围:-32768~32767
long
8个字节
取值范围:
byte
1字节
取值范围:-128~127
2、浮点类型
浮点类型用于表示有小数部分的数值
float
4字节
取值范围:大约+-3.40282347E+38F(有效位数约为6~7位)
float类型的数字有一个后缀f或F,没有后缀的默认是double
double
8字节
有效位数大为15位
注意:浮点数值不适用于无法接受舍入误差的金融计算金融计算应该使用BigDecimal类
3、char(字符)类型
char类型原本是用于表示单个字符的,不过现在有些Unicode字符可以用一个char值描述;
char类型的值可以表示为16进制值,其范围从\u0000到\uFFFF
例如:\u2122表示商标符号(?)\u03C0表示希腊字母π
4、布尔类型boolean
bollean只有两个值false和true,用来判定逻辑条件
整型和布尔类型之间不能进行相互转换
5、数据类型转换
将一种数值类型砖混为另外只用数值类型,但有些转换会造成数值丢失,损失精度
强制类型转换例:例如double类型转换为int类型
doublex=9.9997;
intnx=(int)x;//变量nx的值为9java
5、变量与常量
1、常量
常量就是值不变的变量
使用关键字final指示常量-final修饰后表示这个变量只能被赋值一次,一旦赋值就不能再更改;
常量名-常量名通常全部使用大写字母;
注意:
类常量的定义位于main方法的外部,同一个类的其他方法也可以使用这个常量;
如果一个常量被声明为public,name其他类的方法也可以使用这个常量;
2、变量
每个变量都有一个类型(type);
在声明变量之前,需要先指定变量的类型,然后是变量名;
可以在一行中声明多个变量:(不提倡这个风格)
inti,j;
变量名:
必须遵循驼峰命名标准,变量名大小写敏感
不能使用java保留字作为变量名
注意:
声明一个变量后,要使用必须使用赋值语句对变量进行初始化,千万不要使用未初始化的变量;
3、枚举类型
变量的取值只在一个有限的集合内;
自定义枚举类型,枚举类型包括有限的命名值:
//自定义枚举
enumSize{SMALL,MEDIUM,LARGE,EXTRA_LARGE}
//声明这种类型的变量
Sizes=Size.MEDIUM
//Size类型的变量只能存储这个类型声明中给定的某个枚举值,或特殊值null,null表示这个变量没有设置任何值
6、运算符
运算符用于连接值
1、算数运算符
(+-*/%)加减乘除取模
2、逻辑运算符
(与-&&、或-||、非-!)
3、关系运算符
4、位运算符
(>>、<<、>>>)
3、数学函数
在Math类中,包含了各种各样的数学函数;
java中没有幂运算,因此需要借助Math类中的pow方法
doubley=Math.pow(x,a);//将x的a次幂=y
4、结合赋值与运算符
二元运算符
x+=4;
x=x+4;
自增自减运算符
a++
a–
7、字符串
从概念上讲,java字符串就是Unicode字符序列-String
1、子串
String类的substring方法可以从一个较大的字符串中提取一个子串
Stringgreeting=”Hello”;
Strings=greeting.substing(0,3);//s的字符为”Hel”
2、拼接
java语言允许使用+号连接(拼接)两个字符串
将一个字符串与一个非字符串的值进行拼接,后者会转换成字符串(任何一个java对象都可以转换成字符串)
String每次拼接字符串都会构建一个新的String对象
3、检测字符串是否相等
可以使用equals方法检测两个字符串是否相当
s.equals(t);
注意:千万不要使用==运算符来检测两个字符串是否相等;
4、使用StringBuilder类构建一个字符串
//首先构建一个空的stringbuilder字符串构建器
StringBuilderbuilder=newStringBuilder();
//每次需要添加一部分内容,就直接调用append方法
builder.append(ch);
builder.append(str);
//最后调用toSring方法,就可以得到一个字符串对象
StringcompletedString=builder.toString();
8、控制流程
1、顺序结构
自上而下的执行
2、选择结构
if单选择结构
if-else双选择结构
if-elseif-else多选择结构
switch
(JDK7支持了String类型)
case穿透现象
break
default
3、分支结构(循环结构)
while:尽量避免死循环
do…while
for-可计次数一般用for循环,不可计次数一般用while循环
for(inti=0;i<100;i++)
经典案例-99乘法表
增强for循环
break&continue
break跳出循环
continue终止当此循环,继续下次循环
(带标签的continue废弃的)
return结束方法的运行;
9、大数
如果基本的整数和浮点数精度都不能满足需求,那么可以使用java.math包中两个很有用的类
这两个类可以处理包含任意长度数字序列的数值
BigInteger
可以实现任意精度的整数运算
BigDecimal
可以实现任意精度的浮点数运算
使用静态的valueOf方法可以将普通的数值转换为大数:
BigIntegera=BigInteger.valueOf(100);
对于更大的数,可以使用一个带字符串参数的构造器:
BigIntegerreallyBig=newBigInteger(“1232321312312312312312312312312324575868947474646894644”)
注意:
不能使用我们熟悉的算数运算符(如:+、*)处理大数,需要使用大数类的add和multiply方法进行运算;
BigIntegerc=a.add(b)//c=a+b
BigIntegerd=c.multiply(b.add(BigInteger.valueOf(2)));d=c*(b+2)
10、数组
数组:用来存储相同类型值得序列;
1、定义数组
int[]a=newint[5]//orvara=newint[5]
int[]a={1,2,3,4,5};
声明匿名数组:newint[]
数组必须是同一个类型
2、数组的使用
通过下标拿到值
ArrayIndexoutofBounds-数组下标越界异常
通过增强for循环遍历数组元素
foreach增强for循环
for(a:b){
}
数组拷贝
java中允许将一个数组变量拷贝到另外一个数组变量,这时,两个数组变量将引用同一数组;
将一个数组所有值拷贝到一个新数组中,使用Arrays类的copyOf方法:
int[]copiedLuckyNumbers=Arrays.copyOf(luckyNumbers,luckyNumbers.length);//第二个参数是新数组的长度,这个方法通常用来增加数组的大小;
注意:如果数组元素是数值型,那么额外的元素将被赋值为0;如果数组元素是布尔型,则将赋值为false。相反,如果长度小于原始数组,则只拷贝前面的值;
数组排序
数值型数组排序
使用Arrays类中的sort方法-使用了快速排序(QuickSort)算法
3、多维数组
多维数组将使用多个下标访问数组元素
例如:
int[][]a={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
注意:java中实际上没有多维数组,只有一维数组。多维数组实际就是“数组的数组”-(套娃数组)
4、数组算法
二分查找
冒泡排序
选择排序
直接插入排序
希尔排序
快速排序
归并排序
基数排序
堆排序
11、方法
1、什么是方法?
语句块的集合
2、方法的定义
修饰符返回值方法名(参数名){
return返回值;
}
3、方法的调用
类名.方法
对象.方法
4、方法重载
名字相同,方法形参列表不同;
5、命令行传参-给mian方法传递参数(涉及JVM调优)
main方法是自带了参数的,可以通过命令行的方式传递参数进运行程序;
12、JavaDoc-JDK工具
1、JDK帮助文档
由源文件生成一个HTML文档
2、命令javadoc生成文档
@author作者
@Version版本
@Since最早支持哪个java版本
@param参数
@return返回值
@throws抛出的异常

赞(0)
未经允许不得转载:志达IT网站 » java语法的基础
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

志达IT网站 每天分享编程和互联网的IT技术博客

登录/注册联系我们