IDE使用
IDE:集成开发环境
HelloWorld的输出
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
注释
// 单行注释
/* 多行注释 */
/*
* 文档注释:对类,方法,属性进行说明,在调用时会有提示
*/
关键字&保留字
关键字:在语言有特定含义的单词,修饰类、属性、方法…
保留字:尚未使用,但是以后版本可能会作为关键字使用
标识符
标识符命名规范
硬性规定
1.标识符必须以字母,下划线或者美元符号开头
2.其他部分必须是字母,数字,下划线或者美元符号,但是不能出现特殊符号
3.标识符大小写敏感
4.不能是java的关键字或者是保留字(留给系统使用的表示特殊含义的字符串)
常规建议:
1.驼峰标识
1.类名,接口名称在命名时要首字母大写
2.方法,变量命名是要小写
3.多个单词拼接表示一个标识符时,每个字母都要大写
2.见名知意
1.通过标识符的名称能知道代表的含义
2.千万不要写拼音
java变量
变量:运行时值可变,是程序中基本存储单元
注意:java是强类型语言,因此在使用时必须声明变量类型
java基本数据类型
1.基本数据类型
基本数据类型(4类8种)(不同类型表示不同长度)
整数类型:byte(范围:-128-+127)、short(范围:-32768-+32767)、int(正负21亿)、long(∞)
注意:1.在使用整形类型时,默认都是int类型
2.如果需要使用long类型的话,必须要在数字后面添加L,建议使用大写,小写容易跟“1”混淆
浮点类型:float(单精度)、double(双精度)
注意:1.默认浮点类型是double类型
2.使用float的时候,数字后要添加f
3.浮点类型并不能表示一个精确的值,会损失精度
字符类型:char
布尔类型:boolean(只有true和false两个值,在存储时占1位)
引用数据类型:
类
接口
数组
2.基本数据类型的转换
定义
数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。
分类
1.隐式转换
在运算过程中,不同的数据类型会转换成同一种数据类型
转换规则:
数值型数据的转换:byte→short→int→long→float→double
字符型转换为整型:char→int
2.显式转换(强制类型转换)
当两种数据类型不兼容或者目标类型的取值范围小于源类型,这时就需要强制类型转换
语法格式:
目标类型 变量名 = (目标类型) (被转换的数据);
int b = (byte)(a + b);
注意:
1.如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同
2.不建议强制转换,因为会有精度的损失
运算符
运算符指明对操作数的运算方式
1.算术运算符
运算符 | 含义 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模 |
++ | 自增 |
– | 自减 |
2.比较运算符
运算符 | 含义 |
---|---|
== | 相等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
注意:比较运算符的结果都是boolean型!!!
3.赋值运算符
运算符 |
---|
= |
+= |
-= |
*= |
/= |
%= |
4.逻辑运算符
运算符 | 含义 |
---|---|
& | 逻辑与 |
| | 逻辑或 |
^ | 逻辑异或 |
! | 逻辑非 |
&& | 短路与 |
|| | 短路或 |
5.位运算符
运算符 | 含义 |
---|---|
<< | 左移 |
>> | 右移 |
>>> | 无符号右移 |
& | 与运算 |
| | 或运算 |
^ | 异或运算 |
~ | 反码 |
经典题目:不使用中间变量,交换ab的值
public class Main {
public static void main(String[] args) {
int a = 8 , b = 5;
a = a ^ b;
b = a ^ b;//a ^ b ^ b = a ^ 0 = a
a = a ^ b;
System.out.println(a);
System.out.println(b);
}
}
6.三元运算符
(条件表达式)?表达式1:表达式2;
若条件表达式为true,运算后结果为表达式1
若条件表达式为false,运算后结果为表达式2
public class Main {
public static void main(String[] args) {
int a = 8 , b = 5;
String temp = (a>b)?"yes":"no";
System.out.println(temp);
}
}
流程控制语句
1.顺序结构
定义
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的
特点
从上至下,依次执行
2.循环结构
1.for循环语句
2.while循环语句
3.do…while循环语句
基本格式
do{
循环体语句
控制条件语句
}
三种循环的区别
虽然可以完成同样的功能,但是还是有小区别:do. …while循环至少会执行一次循环体。
for循环和while循环只有在条件成立的时候才会去执行循环体
for循环语句和while循环语句的小区别:
使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用
4.跳转语句
break:跳出单层循环
continue:结束一次循环,继续下一次的循环
return:
1)从一个方法返回,并把控制权交给调用它的语句
2)直接结束整个方法,从而结束循环
3.分支结构
单分支结构:只做单一的条件判断,如果符合,做某些事
双分支结构:当做条件判断时,只有两种选择
多分支结构:可以进行多个条件的判断,每个匹配项可以选择不同的执行
嵌套分支结构:在分支结构中嵌套分支结构
switch分支结构:一般用作等值判断
注意:
1.每个case模块中要添加break,防止多次匹配
2.如果多个case中处理的逻辑代码块的功能一致,可以考虑只在最后添加一次处理
3.default表示默认选项,当所有case条件不匹配时,会执行此选项
4.default可以有,也可以没有
5.switch(表达式)中表达式的返回值必须是byte,short,int,枚举,String
6.case子句中的值必须是常量,并且值不同
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//接收数据
System.out.println("请输入一个数字(1-7):");
int weekday = sc.nextInt();
//switch语句实现选择
switch(weekday) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("你输入的数字有误");
break;
}
}
}