1. 注释
用于解释说明程序作用的文字
Java中注释分类格式
单行注释
格式: //注释文字
多行注释
格式: /* 注释文字 */
文档注释
格式:/** 注释文字 */
2. 关键字
被Java语言赋予特定含义的单词
关键字注意事项
goto和const作为保留字存在,目前并不使用
3. 标识符
程序中需要我们自己来命名的,比如类名,方法名,变量名
标识符命名规则:
由字母、数字、下划线、$组成,但不能以数字开头
大小写敏感
不得使用java中的关键字和保留字
建议采用驼峰式写法,比如定义一个系统用户类 SystemUser
4. 常量
程序中,固定不变的值,比如整数常量1、2、3、4、5、6,7,8等等
小数常量1.68、5.20等等,布尔常量false,true等等
5. 变量
变量用来存储程序执行中用到的数据
变量存储的数据是可以改变的
变量定义格式
数据类型 变量名 = 初始化值
6. 数据类型
Char:2个字节
规则:
1,变量必须先声明,并且初始化后才能使用;
2,声明变量必须有数据类型
3,同一作用域内变量不能重复定义
4,变量名小写开头
5,变量的赋值不能越界
6,数据类型的转换问题
n 赋值时的转换(默认转换+强制转换)
n 运算时的转换,掌握+号运算符(默认转换)
默认转换(把小的赋值给大的)
byte-short-int-long-float-double
强制转换(把大的赋值给小的)
目标类型 变量名=(目标类型)(被转换的数据);
7. 表达式的概念
操作数+运算符+操作数,就组成一个表达式
8. 运算符
i. 算术运算符
算术运算符(+、-、*、/、%、++、--、注意区分前置和后置的区别) 出题点: 整数相除 /和%的区别 ++和--前置后置的区别(重点) 经典面试题 int a = 8; int b = (a++)+(++a)+(a*10);//118 |
ii. 赋值运算符
赋值运算符(= , +=, -=, *=, /=, %=)
=为基本的赋值运算符,其他的为扩展的赋值运算符
iii. 关系运算符(比较运算符)
关系运算符(比较运算符)
==:相等
!=:不相等 !(非)
>:大于
<:小于
>=:大于等于
<=:小于等于
关系运算符的结果都是boolean类型,true 或者 false
逻辑运算符
&(与) 、|(或) 、!(非)&&(短路与)、||(短路或)、^(异或)
短路与和逻辑与的区别
短路与,只要前面可以确定结果是false,那么后面就不管了
逻辑与,就算前面可以确定结果是false,它也要去计算后面的值
短路或,只要前面可以确定结果是true,那么后面就不管了
逻辑或,就算前面可以确定结果是true,它也要去计算后面的值
iv. 三目运算符(三元运算符)
条件运算符是唯一有3个操作数的运算符。
条件运算符是右结合的,是从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。
格式
(关系表达式)?表达式1:表达式2;
(a>b)?a:b;
嵌套:c>a?c:a>b?a:b
如果关系表达式结果为true,运算后的结果是表达式1;
如果关系表达式结果为false,运算后的结果是表达式2;
9. 转义字符
\n换行
\t水平制表
\’单引号
\”双引号
\\一个反斜杠
1,课堂练习至少写一遍,建议不熟的同学敲三遍
2,完善昨天的自我介绍Hello程序,两个点,一是加上注释,要求详细到每一行,二是将每项信息单独用变量进行存储,然后再拼接到我们的输出语句中。
代码如下:
/** *修改后的Hello *作者:罗吉达 */ public class Hello{ public static void main(String[] args){ /*String是类,不是基本数据类型,首字母要大写 */ String name = "罗吉达"; int age = 24; String strength = "自动浏览器、五滴浏览器等软件脚本的编写"; String hobby = "动漫、历史"; //我的姓名 System.out.println("姓名:"+ name); //我的年龄 System.out.println("年龄:"+ age); //我的特长 System.out.println("擅长:"+ strength); //我的爱好 System.out.println("爱好:"+ hobby); } } |
3,请说出下面的运算结果及解释为什么
System.out.println(1+1+“1”);//?
System.out.println(“1”+1+1);//?
答:运行结果分别为21和111
+不光可作为数值运算,也可作为连接运算。
答:对于第一条语句,第一个加号左右是int类型的1,所以产生结果int类型的2.再往后走遇到字符串1,int的2和字符串之间的加号就变成了连接符,所以就是21;
对于第二条语句,第一个加号左右自动被解释为字符串,产生字符串11,再往后是int类型的1,第二个加号是连接运算,结果是111
4,请实现两个整数变量的交换
int a = 1;
int b = 2;
//经过交换之后,这里需要大家实现交换的代码 System.out.println(a);//2
System.out.println(b);//1
代码如下:
public class Text4{ public static void main(String[] args){ int a = 1; int b = 2; int temp = a; a = b; b = temp; System.out.println("a="+a); System.out.println("b="+b); } } |
5,求三个整数中的最大数
代码如下:
public class Text5{ public static void main(String[] args){ int a =5; int b =6; int c =7; int max = c>a?c:a>b?a:b; System.out.print(max); } } |
6,某查询结果的记录数为66条,每页显示10条,请计算总页数有几页?7
代码如下:
public class Text6{ public static void main(String[] args){ int item = 66; int page = item/10+(item%10>0?1:0); System.out.print(page); } } |
7,设计一个实验证明&和&&的区别
答:&逻辑与 就算前面可以确定结果是false,它也要去计算后面的值
&&短路与 只要前面可以确定结果是false,那么后面就不管了
代码如下:
public class Text7{ public static void main(String[] args){ boolean a = false; int b=4; int c=4; boolean d = a & b++==6; boolean e = a && c++==6; System.out.println("b="+b); System.out.println("c="+c); } } |
运行结果如下:
其中b的值不变,而c改变了。说明对于语句“boolean d = a & b++==6;”,&后面的部分执行了,而“boolean d = a && b++==6;”的&&后面的部分未执行,得证。