Java基础语法

Java特点

更多内容查看:http://www.cswritehelp.com

简单自然
平台可移植性
支持函数式编程
JIT 编译
更好的并发编程
健壮安全

执行方式

编译:将源代码(.java)处理成字节码(.class)
解释:将字节码加载到JVM中执行(JIT编译)

程序结构

package:方便管理类,避免命名冲突
import:除java.lang包 其他包中的内容需要先导入
class/interface/enum/@interface:

    1. 被public修饰的类/接口/枚举/注解最多只有一个
    2. 建议:一个源文件中只写一个类/接口/枚举/注解  


注释:

        1. 行注释   //
        2. 多行注释(块注释)   /*  xxx  */
        3. 文档注释   /** xxxx  */
                      @author
                      @since
                      @param
                      @return
                      @throws
                      @see
                      @deprecated

关键字

关键字:有特殊含义的单词

基本数据类型

byte、short、int、long、float、double、char、boolean

类和接口

class、interface、extends、implements、abstract、final、package、import、this、super、new、instanceof、strictfp

方法

return、void、native、static

方法修饰符

public、protected、private

分支和循环

if、else、switch、case、default、while、do、for、break、continue

异常机制

try、catch、finally、throw、throws

多线程

synchronized、volatile

序列化

transient、Java 5+、assert、enum

保留字

const、goto



标识符

标识符:给类型(类、接口、枚举、注解)、包、方法、属性、变量等起的名字

    1. 字母(Unicode字符)、数字、下划线、$、数字不能开头
    2. 不能使用关键字做标识符
    3. 大小写敏感
    4. 见名如意
    5. 驼峰命名法
        命名类型时每个单词首字符大写
        命名方法、变量时第一个单词小写,从第二个单词尅是每个单词首字母大写
        命名包是全小写
        命名常量是全大写



运算符

(1)算术运算符
+
-
*
/
%:任何整数模2,不是0就是1,所以只要改变被模数就可以实现开关运算符
++:自增
--:自减
(2)赋值运算符
=
+=
-=
*=
/=
%=
(3)比较运算符
==:运算完的结果,要么是true,要么是false
!=
<
<=
>
>=
(4)逻辑运算符
&:两边只要有一个为false,结果就是false
|:两边只要有一个true,结果就是true
&&:短路与,只要右边是false,左边就不再参与运算了,结果为false
||:短路或,只要右边是true,左边就不再参与运算了,结果为true
!
(5)位运算符
&
|
^
~
<<
>>
>>>:无符号右移
(6)其他运算符
x?y:z;  :  三元条件运算符。先计算x的值,如果x为true,则整个三目运算的结果为y,否则为z。经常用来代替简单的 if...else... 判断
+:字符串连接符。System.out.println("5"+4); // 54
new
instanceof
():强制类型转换
[]:下标运算符

clipboard.png



变量与常量


常量:是在程序中的不会变化的数据

变量:其实就是内存中的一个存储空间,用于存储数据。只要是数据不确定的,就定义变量。
        作用:方便于运算。因为有些数据不确定,所以确定该数据的名词和存储空间
        特点:变量空间可以重复使用
        作用域:从变量定义的位置开始,到该变量所在的那对大括号结束。
        生命周期:变量从定义的位置开始就在内存中活了,变量到达它所在的作用域的时候就在内存中消失了;
        



数据类型

1、基本数据类型

boolean
byte、char、short(这三个平级)——>int——>float——>long——>double

clipboard.png

自动类型转换:从低级别到高级别,系统自动转的
强制类型转换:把一个高级别的数据类型赋给一个级别比它低的变量或者表达式中类型提升(计算结果超出范围)

表达式中类型提升问题:

clipboard.png

clipboard.png

2、引用数据类型

数组、类、接口




程序逻辑

顺序结构

从上至下执行

分支结构(选择结构)

if....else....
switch....case....default....



(1)switch只能做等值判断


(2)switch后面的小括号中的变量只能是int,以及自动转为int的byte、char、short;JDK7以后可以使字符串


(3)default可以写在switch结构中的任意位置,如果写在第一行,不管expression与case中的value是否匹配,程序会从default开始执行,直到第一个break出现。


(4)当判断固定个数的值的时候,可以使用if,也可以使用switch。建议使用switch,效率相对较高。
switch(变量){
    case 值:要执行的语句;
        break;
    ......
    default:要执行的语句;
}
执行过程:小括号中的变量的值依次和case后面的值进行比较,和哪个case的值相同了,就执行哪个case后面的语句,如果没有相同的,则执行default后面的语句;
注意:break是可以省略的,如果省略了就一直执行到遇到break位置(case穿透);

clipboard.png


(5)当判断数据范围,获取判断运算结果boolean类型,需要使用if。


(6)当某些语句需要执行很多次,就使用循环结构
while和for可以进行互换。
区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。


(7)break、continue,return区别
break:
作用于switch时,不再执行下面的语句。
作用于循环语句时,表示跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起个名字即可,这个名字称之为标号。
continue:
只作用于循环结构,继续循环用的。表示结束本次循环,继续下次循环。
return:
结束当前执行的方法

循环结构

while
do....whiel
for(初始条件;循环控制条件;循环控制条件)
for-each

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值