1、java语言基础组成:关键字、标识符、注释、常量和变量、运算符、语句、函数、数组
2、关键字:
1)用于定义数据类型的关键字:class interface byte short int long float double char boolean void
2)用于定义数据类型值的关键字:true false null
3)用于定义流程控制的关键字:if else switch case default while do for break continue return
4)用于定义访问权限修饰符的关键字:private protected public
5)用于定义类与类之间关系的关键字:extends implements
6)用于定义建立实例及引用实例,判断实例的关键字:new ,this ,super ,instance of
7)用于异常处理的关键字:try catch finally throw throws
8)用于包的关键字:package import
9)其它修饰符关键字:native strictfp transient volatile assert
以上部分的关键字在今后的学习中陆续掌握,现只明确大体分类
3、标识符
在程序中自定义的一些名称,由26个英文字母大小写,数字:0-9 符号:_$组成
规则:数字不可以开头,不可以使用关键字
严格区分大小写,在起名字时,为了提高阅读性,要尽量有意义
包名:多单词组成时所有字母都小写 xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写 XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写 xxxYyyZzz
常量名:所有字母都大写,多单词时每个单词用下划线连接XXX_YYY_ZZZ
4、常量:
1)分类:整数常量、小数常量、布尔型常量(true false)、字符常量(用‘’标识)、字符串常量(用“”标识)、null常量(null空常量)
2)整数常量:十进制、八进制(0-7,用0开头,3个二进制位显示一位)、十六进制(0-9、A-F,用0x开头,4个二进制位显示一位)、二进制
3)二进制与十进制之间转换:
十转二:十进制数进行除二运算,无余数得0,倒序记录
二转十:二进制乘以2的n次幂
十进制转其它进制时,先转成二进制,再进行转换
二转十六:4个二进制位就是一个十六进制位
二转八:3个二进制位就是一个八进制位
负数的二进制表现形式:是正数的二进制取反+1,最高位肯定为1
5、变量:数据类型 变量名=初始化值
1)基本数据类型:数值型(整数型byte<1个8位来表示>、short< 2个8位表示>、int<4个8位>默认、long<8个8位>,浮点型(float<4个8位>、double<8个8位>默认)、字符型char(2个8位)、布尔型boolean。一个汉字是两个字节
2)引用数据类型:类class、接口interface、数组[]
3)ASCII码:‘A’=65;‘a’=97;‘1’=49
6、定义变量:
long a=4l; float b=3f; char ch1='4'; char ch2='+'; boolean b=true;
7、算数运算符
%:取模(取余数)。5%5=0;2%5=2;8%5=3;1%-5=1;-1%5=-1
++:自增(前)a=2;b=++a;结果a=b=3。自增(后)a=2;b=a++;结果a=3,b=2。
字符串数据和任何数据使用+都是相连接,最终都会变成字符串
int x=4270;
x=x/1000*1000;
输出结果为4
8、转义字符:通过\来转变后面字母或者符号的含义。\n:换行;\b:退格;\r:按下回车键;\t:制表符,相当于tab键;
window系统中,回车符是由两个字符来表式,\r,\n
9、赋值运算符 :
=,+=,-=,*=,/=,%=。a+=5等同于a=a+5
注意:short a=2;
a=a+5;//不可编译,变成int型,会损失精度
a+=5;//可编译,只做赋值运算,将2+5的值赋予a
10、比较运算符:输出结果为true或false
==;!=;>;<;<=;>=
11、逻辑运算符:
与&:只要两边的boolean表达式结果有一个为false,那么结果就是false;
或|:两边只要有一个为true,结果为true,只有两边都有false,结果才为false;
异或^:两边相同结果是false,两边不同结果是true;
非!;
短路&&,false&&true左边为假就右边不运算;
短路||,true||false左边为真右边不运算
12、位运算符:
左移<<:其实就是乘以2的移动的位数次幂;
右移>>:就是除以2的移动的位数次幂;
无符号右移>>>:无论最高位是什么,右移后都用0补;
与&;或|;
异或^:7^4^4=7一个数异或同一个数两次,结果还是那个数;
反码~:~6=-7,负数=正数+1再取反
13、练习
1)最有效的方式算出2*8=? 2<<3;
2)对两个整数变量的值进行互换:
A:int n=3,m=8;
int temp;
temp=n;
n=m;
m=temp;
B:n=n+m;
m=n-m;
n=n-m;
C:n=n^m;
m=n^m;
n=n^m;
14、十进制变成十六进制
int num=60;
num&15=12;获取60的最低四位,通过&15
int temp=60》>>4;获取下一组四位,将60右移4位
temp&15=3;
15、三元运算符、
(条件表达式)?表达式1:表达式2;
好处:可以简化if else代码
弊端:因为是一个运算符,所以运算完必须要有一个结果。
16、程序流程控制
1)判断结构
if语句三种格式:
A:if(条件表达式)
{
执行语句;
}
B:if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
简写格式:变量=(条件表达式)?表达式1:表达式2;
C:if(条件表达式)
{
执行语句;
}
else if(条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
2)选择结构
switch语句
switch(表达式)//表达式的值只可为byte short int char
{
case取值1:
执行语句;
break;
case取值2:
执行语句;
break;
default:
执行语句;
break;
}
如果default放到最上边也是最后执行,如果此时default下边无break,则继续向下执行而不再判断case,直到遇见break或是大括号。
3)循环结构
17、if和switch语句用法区别:
如果判断的具体数值不多,而是符合byte short int char这四种类型,虽然两个语句都可以使用,建议使用swtich语句,因为效率稍高;其它情况对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广