关键字
含义:被java语言赋予了特殊含义的单词。
特点:组成关键字的字母全部小心。
注意事项:goto和const作为java保留字。
标识符
定义:就是给类、方法、常量等起名字的字符序列。
组成规则:英文字母的大小写、数字、$、_。
注意事项:a、不能数字开头b、不能是java中的关键字c、区分大小写
Java中不同内容的名称规范:
包名:多单词组成时所有字母均小写,使用.连接 aaa.bbb.ccc
类名&接口名:大驼峰式 AaaBbbCcc
变量名&函数名:小驼峰式 aaaBbbCcc
常量名:多单词组成是所有字母均大写,使用_连接 AAA_BBB_CCC
注释
定义:用来解释说明程序的文字。
作用:a、对代码进行解释说明,提高代码的阅读性。
b、用于调试程序,判断错误出现位置。
格式:单行注释:注释一行代码,可嵌套
具体格式://内容
多行注释:注释多行代码,不可以嵌套
具体格式:/*内容*/
文档注释:注释多行代码,Java特有的注释,用于生成API文档,不可以嵌套
具体格式:/**内容*/
原码、反码、补码
计算机技术的基本单位为字节。
计算机系统中,数值一律使用补码计算。其中:1为负0为正
表示规则:正数
正数的原码是其数字本身。
正数的反码、补码与原码相同。
负数
负数的原码是其数字本身。
负数的反码为原码的符号位不变,其他各位取反。
常量
定义:在程序执行的过程中其值不可以发生改变。
Java中常量分类 :字面值常量、 自定义常量
整数常量所有整数
12,23
小数常量所有小数
12.34,56.78
字符常量用单引号括起来的内容
‘a’,’A’,’0’
字符串常量用双引号括起来的内容
"hello world", "a"
布尔常量较为特有,只有true和false
空常量null
Java针对整数常量提供了4种表现形式
二进制:0,1 ,满2进1.
八进制:0-7 ,满8进1. 用0开头表示。
十进制:0-9 ,满10进1.
十六进制:0-9,A-F,满16进1. 用0x开头表示。
规律,进制越大,表现形式越短。
进制的基本转换
十进制 二进制 互转
十进制转成二进制 除以2取余数
二进制转成十进制 乘以2的幂数
十进制到其他进制
除要转换的进制取余,直到商为0,余数反转。
二进制转成八进制 对二进制每三位的获取,一124为基准。
二进制转成十六进制 对二进制每三四位的获取,一124为基准,超过9用字母a~e表示
变量
定义:每个变量都是内存中的一块存储区域,一般该区域都有自身的名称(变量名)与类型(存储数据的数据类型)
作用:用于存储数据:每个变量均可以存放同一种数据类型的数值,可以重复使用,新的值会将旧的值覆盖掉
注意:变量要想使用就必须赋值
作用域:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域,相同的作用域中不能
定义两个同名的变量。
java是一种强类型的语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间
数据类型:基本数据类型、引用数据类型
基本数据类型:整数值型(byte、short、int、long)
浮点类型(float、double)
字符型(char)
布尔型(boolean)
引用数据类型:类(class)、接口(interface)、数组([ ])
注:整数默认是int、小数默认是double
声明long类型的数据后面需要加L;
声明float类型的数据后面需要加F。
类型占用存储空间一个字节等于8个bte;
byte1字节
short2字节
int4字节
long8字节
float4字节
double5字节
数据类型转换
boolean类型不能转换为其他的数据类型。
默认转换:
byte,short,char—int—long—float—double
byte,short,char相互之间补转换,他们参与运算首先转换为int类型
强制转换
目标类型 变量名=(目标类型)(被转换的数据);
转义字符
改变某些符号的意义。
\t :制表符
\n:换行符
\r :回车符
\’: 单引号字符
\”: 双引号字符
\\ : 反斜杠字符
运算符
算术运算符又叫操作符,是用来操作操作数的指令
操作数是操作符作用的实体,规定了进行计算的数的量,即被操作的数。
通常操作数为变量
算术运算符:+、-、*、/、%、++、--
+的几种作用:a、加法b、整数、c、字符串连接符、
除法时注意的问题:整数相除只能得到整数,要想得到小数,可以乘以1.0
/是做除法运算,需要的是商。
注意:在进行除法运算时,除数不能为0
%是做取余的运算,需要的是余数
++:单独使用时,放在操作数的前后都一样,
参与运算时,如果放在操作数的前面,则先进行自加1,再进行运算。
如果放在操作数的后面,则先进行运算,再加1.
--:和++的使用的方法是一致的。
赋值元算符
=、+=、-=、*=、/=、%=
如:+=是把等号两边的和赋值给左边,同时隐含了强制转换
比较运算符
==、!=、<、>、<=、>=、
注:比较运算符的结果都是boolean类型的,要么是true,要么是false
注:比较运算符“==”不能误写成“=”
逻辑元算符
&、|、^、!、&&、||
逻辑运算符通常连接结果为布尔值的表达式
& false & falsefalse
false & truefalse
true & falsefalse
true & truetrue
|false| falsefalse
false| truetrue
true| falsetrue
true| truetrue
^false^ falsefalse
false ^ true true
true ^ false true
true ^ true false
!true = false
&和&&的却别
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
|和||的区别同理,双或时,左边为真,右边不参与运算。
^ 与 | 的不同之处是:当左右都为true时,结果为false。
位运算符
<< 、>>、>>>、&、|、^、~
<<:空位补0,被移除的高位丢弃。
>>:被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,最高位补1。
>>>:被移位二进制最高位无论是0或者是1,空缺位都用0补。
&:任何二进制位和0进行&运算,结果是0;
和1进行&运算结果是原值。
|:任何二进制位和0进行 | 运算,结果是原值;
和1进行 | 运算结果是1。
^:任何相同二进制位进行 ^ 运算,结果是0;
不相同二进制位 ^ 运算结果是1。
三元运算符
格式:(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
流程控制语句
顺序结构
是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,
程序中大多数的代码都是这样执行的。
总的来说:写在前面的先执行,写在后面的后执行
选择结构(if)
格式一
if(条件表达式){
执行语句;
}
格式一为单条件判断语句。通过这种格式if语句中可能一句都没有执行。
格式二
if(条件表达式){
执行语句;
}
else{
执行语句;
}
格式二为单条件判断语句。通过这种格式if语句中一定会执行其中一种情况。
格式三
if(条件表达式){
执行语句;
}
else if (条件表达式){
执行语句;
}
……
else{
执行语句;
}
格式三为多条件判断语句。通过这种格式if语句中可以判断多个区间的条件。
选择结构
格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
特点:
a,switch语句选择的类型只有四种:byte,short,int , char,String(JDK1.7以后),枚举(JDK1.5以后)。
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执
行的语句,直到遇到break或者switch结尾结束。
注意事项:
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的。
default可以放在switch中的任意位置
break可以省略,但是结果可能是我们不想要的。
switch语句的结束条件:遇到break,执行到程序结束
if与switch语句的选择:
if:针对结果是boolean类型的判断
针对一个范围的判断
真对几个常量的判断
switch:针对几个常量的判断
循环结构
定义:在特定条件下,重复执行指定语句。
for循环格式
for(初始化表达式①;条件表达式②;增量表达式④){
执行语句;(循环体)③
}
执行顺序: ①②③④>②③④>②③④… ②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句
④循环后,循环变量的变化情况
for循环注意事项:
①初始化表达式只执行一次,可以在for循环前定义赋值。
注意变量作用域问题
②循环条件可为空,表示始终满足条件。
③循环体必须存在,否则没有意义。
④不一定为自增自减,可以为多个表达式,可以在for循环体内进行循环变量的变化。
判断条件语句的结果是一个boolean类型
一般来说:有左大括号就没有分号,有分号就没有左大括号
while循环语句格式:
while(条件表达式)
{
执行语句;
}
for和while的区别:
for语句的那个控制条件变量,在循环结束后不能在使用了。
而while的可以继续使用。
for适合于一个范围的判断
while适合次数不明确的
do...while循环:
do {
循环体语句;
}while(判断条件语句);
三种循环的区别:
1、do...while循环至少执行一次循环体
2、for和while必须先判断条件是否是true,然后后才能决定是否执行循环体
循环使用的注意事项(死循环):
1、一定要注意修改控制条件,否则容易出现死循环。
2、最简单的死循环格式
a:while(true){...}
b:for(;;){}
其他流程控制
break(跳出)语句:
跳出循环体
break的使用场景:
在选择结构switch语句中
在循环语句中
离开使用场景的存在是没有意义的
break的作用:
跳出单层循环
跳出多层循环
带标签的跳出
格式:标签名: 循环语句
标签名要符合Java的命名规则
continue(跳出)语句:
跳出本次循环,进入下次循环
continue的使用场景:
在循环语句中
离开使用场景的存在是没有意义的
continue的作用:
单层循环对比break,然后总结两个的区别
break 退出当前循环
continue 退出本次循环