一、输出语句
// 换行输出字符串内容
System.out.println("");
// 换行输出变量内容
System.out.println(cx);
// 不换行输出字符串内容
System.out.print("");
// 不换行输出变量内容
System.out.println(cx);
快捷键:sysout + Alt + /
二、变量
定义变量(声明变量)
制造容器 数据类型 变量名;
基本数据类型:
数据类型 | 所占字节 | 对应的类 | ||
整型 | 字节型 | byte | 1字节 | Byte |
短整型 | short | 2字节 | Short | |
整型 | int | 4字节 | Integer | |
长整型 | long | 8字节 | Long | |
浮点型 | 单精度 | float | 4字节 | Float |
双精度 | double | 8字节 | Double | |
字符型 | char | 2字节 | Character | |
布尔型 | boolean | 1字节 | Boolean |
变量的数据类型不得更改
命名规则:
(1) 由字母、数字、下划线、$组成
(2) 开头只能是字母、下划线、$
(3) 不能使用关键字命名
(4) Java严格区分大小写
(5) 起名要做到见名知义
变量赋值:
变量名 = 值;
左右两边数据类型要保持一致
变量可以重复赋值,值会被覆盖
例:
int a = 3; // 变量a的值是3
int b = a; // 将a的值复制给b,所以变量b的值也是3
字符串包含在""内,字符包含在''内,字符串可以拼接,字符不能拼接
输出变量的值:
int a = 10; // 声明整型变量a,将10保存到变量a中
System.out.println("a"); // 显示结果为: a
System.out.println(a); // 显示结果为: 10
输入变量:
Scanner sc = new Scanner(System.in);
// 创建工具,用来扫描键盘,从键盘读取数据
System.out.print("请输入一个整数:");
// 输入提示语句
int a = sc.nextInt();
// 声明变量a并赋值,将运行时输入的数据存入变量a中
System.out.println(a);
// 输出结果: 10
快捷键:Ctrl + Shift + O导包
输入整型变量nextInt()
输入双精度浮点型nextDouble()
输入字符串next()
三、运算符
算术运算符
+:(1)数据相加
(2)字符串的拼接
-:数据相减
*:数据相乘
/:数据相除 取整
左右两边都为整数,运算结果为整数
左右两边有一个位小数,运算结果为小数
%:求余 取模
得到两数相除的余数
通过取模可以得到 [0, 被除数) 范围的数值
应用:整数 / 10可以去掉整数的个位数;整数 % 10可以获得整数的个位数.
关系运算符
< > <= >= != ==
运算结果为boolean类型,true或者false
条件运算符
变量 = 表达式1 ? 表达式2 : 表达式3;
表达式1为true,结果为表达式2的值;
表达式1为false,结果为表达式3的值.
逻辑运算符
&&(与):左右两边都为真,结果才为真
||(或):左右两边有一边为真,结果为真
!(非):右边为真,结果为假
赋值运算符
=:把右边的值赋给左边
变量只有在赋值的情况下,值才会改变
单目运算符
++:自增运算符
--:自减运算符
例:y = x++; // 先把x的值赋给y,再将x的值加1
y = ++x; // 先将x的值加1,再把x的值赋给y
自减运算符和自增一样,也有x--和--x两种写法.
四、数据类型转换
强制类型转换
格式:(新的数据类型)数据
例:
int a = (int)3.14; // 变量a的值为3
强制类型转换只适用于整型、浮点型和字符型
强制类型转换不会改变原变量的数据类型和值
隐式类型转换
从低级类型向高级类型转换,系统自动执行,"(新的数据类型)"可以省略.
这些类型按精度从低到高排列:
byte→short→int→long→float→double ↑ char |
常用ASCII码
'0' = 48; '9' = 57;
'A' = 65; 'Z' = 90;
'_' = 95;
'a' = 97; 'z' = 122;
五、条件语句
if条件语句
(1) 基础结构:
if (条件) { // 如果条件为true,执行代码块1
代码块1
} else { // 如果条件为false,执行代码块2
代码块2
}
else可以没有
(2) 嵌套结构:
if (条件) {
if...
} else {
if...
}
switch多分支语句
(1) 语句结构:
switch (表达式) {
case 值:
代码块
// break根据实际情况决定写不写
case 值:
代码块
// break
......
default:
代码块
// break
}
(2) switch语句中表达式的值必须是整型、字符型或字符串型
六、循环语句
while循环
语法结构:
while (true) {
循环体
if (条件) {
break;
}
}
或者:
while (条件) {
循环体
}
for循环
(1) 语法结构:
for (表达式A; 表达式B; 表达式C) { // 表达式A:初始化语句;表达式B:判断条件语句;表达式C:控制条件语句
循环体
}
for循环中的三个语句都可以省略,注意';'不能省,省略后相当于whiile (true){}
(2) 执行顺序:
①在for循环开始前,首先执行表达式A;
②执行表达式B:若为true,执行循环体;若为false,跳出循环;
③循环体执行完,执行表达式C;
④执行完表达式C,再执行表达式B:若为true,执行循环体;若为false,跳出循环;
⑤循环执行第三步和第四步.
七、局部变量
在方法、条件判断语句、循环语句中声明的变量都是局部变量,并只能在对应的范围内使用。
局部变量没有默认值,声明后必须初始化才能使用。
八、字符串
字符串常用方法
(1) 字符串的长度
整型变量 = 字符串.length();
(2) 比较两个字符串是否相同
字符串1.equals(字符串2); // 如果两个字符串相同,运算结果为true
(3) 从字符串中取一个字符
字符变量 = 字符串.charAt(下标); // 下标从0开始
(4) 判断子字符串是否存在
布尔型变量 = 字符串.contains(子字符串);
(5) 字符串变整数
整型变量 = Integer.parseInt(字符串);
(6) 字符串变小数
浮点型变量 = Double.parseDouble(字符串);
(7) 字符串变布尔值
布尔型变量 = Boolean.parseBoolean(字符串);
// 字符串为"true"时(此处不区分大小写),返回结果为true;其他字符串返回结果为false
(8) 字符串分割
String[] 数组变量 = 字符串.split(分隔符);
// 如果是字符'+'、'*'、'|'、'.'、'^'、'$'、'?'、'{'、'}'、'['、']'作为分隔符,前面要加上"\\"
(9) 字符串截取
String 字符串变量 = 字符串.subString(起始下标, 终止下标);
// 截取范围是[起始下标, 终止下标),即不包括终止下标对应的字符
(10) 判断字符串是否为空
布尔型变量 = 字符串.isEmpty(); // 当字符串length为0时(注意不是null),返回true
字符串连接
用"+"实现连接多个字符串.
字符串也可以和其他基本数据类型连接,连接后,会将这些数据直接转换成字符串.
字符型变量转换成字符串型变量
字符串型变量 = 字符型变量 + "";
格式化日期和时间
Date date = new Date(); // 创建Date类的对象date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // SimpleDateFormat是处理日期格式转换的类
String s = sdf.format(date); //将日期类型时间转换为定义格式,再转换为字符串类型时间
String类
(1) 使用时不需要导包(java.lang.String)
(2) final class String{}
String是一个最终类,不能被继承,创建一个String对象时,会给对象分配一块空间,当进行字符串的改变时,原字符串的内容不会改变,系统会给改变后的字符串重新分配内存.
(3) Java语言为了安全,当要直接输出对象时,显示的结果是toString方法的返回值
在Object类中间,toString()默认返回的是HashCode(哈希码),但String类中重写了toString()
例:
String s = new String("abcd");
System.out.println(s); // 输出abcd
String xs = new XueSheng();
System.out.println(xs); // 输出XueSheng@2f92e0f4
九、数组
数组可以同时存放多个数据类型相同的数据.
定义数组(声明数组)
第一种: 数据类型 数组名[] = new 数据类型[整型变量];
// 整型变量表示的是数组中可以存放的最多数据的个数,此时每个元素的初始值都是0
第二种: 数据类型[] 数组名 = new 数据类型[整型变量];
第三种: 数据类型 []数组名 = new 数据类型[整型变量];
第四种: 数据类型 数组名[] = {n1, n2, n3...}; // n1, n2, n3表示初始化数组的元素值
第五种: 数据类型 数组名[] = new 数据类型[]{n1, n2, n3...};
数组下标从0开始
数组定义好后,元素个数不能更改
借助循环语句实现数组的输入与输出
找数组元素的最大值(最小值同理)
例:
int n[] = {7, 4, 9};
int max = n[0];
for (int i = 1; i < 3; i++) {
if (max < n[i]) {
max = n[i];
}
}
求数组元素的和
例:
int sum = 0;
for (int i = 0; i < 3; i++) {
sum = sum + n[i];
}
对数组元素排序(不用算法)
Arrays.sort(数组名); // 调用Arrays类中间的公共静态sort方法,默认从小到大
十、方法(函数)
定义函数的位置: 在类里的任何位置
格式:
// 声明方法
修饰符 返回值类型 方法名(形参) {
方法体
}
// 调用函数
方法名(实参);
方法前面可以写4中修饰符:
(1) 静态修饰符:static
(2) 最终修饰符:final
(3) 访问修饰符:private/public/缺省/protected
(4) 抽象修饰符:abstract
修饰符没有先后顺序,默认方法的访问修饰符为public
返回值类型:
(1) 有返回值:在声明方法时指定返回值类型,并在方法体内通过return返回指定类型的变量的值
(2) 无返回值:在声明方法时用void表示,通常不写return,但如果使用的话,只能写"return;"表示结束方法
方法名:要符合标识符的命名规则
形参:可以声明多个,中间用','隔开,形参值改变不会影响到实参
实参要和形参数据类型一致
在一个方法里不能再定义方法
0条评论
点击登录参与评论