Java基础语法
标识符
在程序中自定义的一些名称。
由26个英文字母大小写,数字:0-9符号:_&组成
定义合法标识符规则:
1. 数字不可以开头
2. 不可以使用关键字
Java中严格区分大小写
注意:在起名字的时候,为了提高阅读性,要尽量有意义。
Java中的名称规范:
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接
XXX_YYY_ZZZ
注释
用于注解说明解释程序的文字就是注释。
提高了代码的阅读性。
Java中的注释格式:
单行注释 格式: //注释文字
多行注释 格式: /*注释文字*/
文档注释 格式: /***注释文字 */
对于单行和多行注释,被注释的文字,不会被JVM解释执行。
对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。
注释是一个程序员必须具有的良好编程习惯。
初学者编写程序可以养成习惯:先写注释再写代码。
将自己的思想通过注释先整理出来,在用代码去体现
因为代码仅仅是思想的一种体现形式而已。
/**
这是我的Hello World程序。
@author 小强
*/
Class Demo
{
/*
这是主函数,是程序的入口
它的出现可以保证程序的独立运行。
*/
pubic static void main(String[] args)
{
//这是输出语句用于将括号内的数据打印到控制台
System.out.println(“HelloWorld!”);
}
}
常量与变量
常量表示不能改变的数值。
Java中常量的分类:
1. 整数常量。所有整数
2. 小数常量。所有小数
3. 布尔型常量。较为特有,只有两个数值。 true false
4. 字符常量。将一个数字字母或者符号用单引号(’’)标识
5. 字符串常量。将一个或者多个字符用双引号标识。
6. null常量。只有一个数值就是:null
对于整数:Java有三种表现形式。
十进制:0-9,满10进1
八进制:0-7,满8进1.用0开头表示。
十六进制:0-9,A-F,满16进1.用0x开头表示。
变量的概念:
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化
为什么要定义变量:
用来不断的存放同一类型的常量,并可以重复使用
使用变量注意:
变量的作用范围(一对{}之间有效)
初始化值
定义变量的格式:
数据类型变量名=初始化值;
注意:格式是固定的。记住格式。以不变应万变。
Java语言是强类型语言,对每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
整数默认:int 小数默认:double
表达式的数据类型自动提升
所有的byte型、short型和char型的值将被提升到int型
如果一个操作数是long型,计算结果就是long型
如果一个操作数是float型,计算结果就是float型
如果一个操作数是double型,计算结果就是double型
运算符
算术运算符
字符串数据和任何数据使用+都是相连接,最终都会变成字符串。
转移字符:通过\来转变后面字母或者符号的含义。
\n:换行
\b:退格。相当于backspace。
\r:按下回车键。Windows系统,回车符是由两个字符来表示\r\n
\t:制表符。相当于tab键。
赋值运算符
符号:
=,+=,-=,*=,/=,%=
示例:
Int a,b,c;a=b=c=3;
Int a=3;a+=5;等同运算a=a+5;
Short s=3;
s=s+2//编译失败,因为s会被提升为int类型,运算后的结果还是int类型。无法赋值给short类型。
S+=2//编译通过,因为+=运算符在给s赋值时,自动完成了强制转换操作。
比较运算符
注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false
注2:比较运算符“==”不能误写为“=”
逻辑运算符
&和&&的特点:
&:无论左边是true还是false,右边都运算
&&:当左边为false时,右边不运算。
|:两边都参与运算。
||:当左边为true。右边不运算
位运算
>>:最高位补什么由原有数据的最高位值而定。
如果最高位0,右移后,用0补空位
如果最高位1,右移后,用1补空位。
>>>:无论最高位是什么,右移后,都补0
一个数异或同一个数两次,结果还是那个数。
三元运算符
格式
(条件表达式)?表达式1:表达式2
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
示例:
获取两个数中大数。
Int x=3,y=4,z;
Z=(x>y)?x:y;//z变量存储的就是两个数的大数。
程序流程控制
三种格式:
1.
if(条件表达式)
{
执行语句;
}
2.
if(条件表达式)
{
执行语句;
}
Else
{
执行语句;
}
3.
if(条件表达式)
{
执行语句;
}
Else if(条件表达式)
{
执行语句;
}
…
else
{
执行语句;
}
格式:
switch(表达式) //此处表达式可以的类型byte, short ,int ,char,枚举
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…
default:
执行语句;
}
switch语句选择的类型只有四种:byte,short, int , char
case之间与default没有顺序。先执行第一个case,没有匹配的case执行default
结束switch语句的两种情况:遇到break,执行到switch语句结束
如果匹配的case或者default没有对应的break,那么程序会继续往下执行,运行可以执行的语句,知道遇到break或者switch结尾。
If和switch语句很像
具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型
虽然两个语句都可以使用,建议使用switch语句。因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
while(条件表达式)
{
执行语句;
}
do
{
执行语句;
}while(条件表达式);
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
//内层循环的break;通过标号可以直接结束外层循环
w:for(int i=0;i<3;i++)
{
q:for (int j = 0; j < 3; j++) {
System.out.println("i="+i);
break w;
}
}
//内层循环的continue,通过标号直接操作外层循环
w:for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.println("i="+i);
continue w;
}
}