引用数据类型:
数组,类,接口。
字符必须使用‘’。并且其中只能切且只有一个字符。“”“”中的字符可以允许多个,及叫字符串。
数据类型转换
取值范围小的可以直接转换成取值范围大的,
取值范围大的不可以直接转化成取值范围小的。
自动转化,
布尔类型的数据不参与数据的转换
强制数据类型转换
数据范围大的转换成数据范围小的
转化公式: 被转换后的数据类型 变量名 = (被转换后的数据类型)要被转的数据
double a = 3.14;
int i = (int)a;
System.out.println(i)
运算符注意事项
*a:加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
*b:除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
*c:“%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
*d:整数做被除数,0不能做除数,否则报错。
*e:小数做被除数,整除0结果为Infinity,对0取模结果为NaN
* A:算数运算符++、--的使用 * a: ++运算符,会在原有值的基础上自增1 * b: --运算符,会在原有值的基础上自减1。 * B:++ -- 位置的使用 * a:++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1; * b:++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作 |
符号写在前面,还是后面,在变量自己独立计算的时候,没有区别。但是变量,参与了与其他运算,有了区别。
int i= 5;
int j = i++;
System.out.println(i);//6
System.out.println(j);//5
//j=i++,++后算,先将值I的值,赋值于j ,I自己再++。
int i =5;
int j =++i;
//输出 6,6.
赋值运算符的使用
运算符 运算规则 范例 结果
= 赋值 int a=2 2
+= 加后赋值 int a=2,a+=2 4#一次计算
-= 减后赋值 int a=2,a-=2 0
*= 乘后赋值 int a=2,a*=2 4
/= 整除后赋值 int a=2,a/=2 1
%= 取模后赋值 int a=2,a%=2 0
注意事项:
* 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的
* 注意:赋值运算符左边必须是变量
public class OperatorDemo2 {
public static void main(String[] args) {
byte x = 10;
x += 20;// 相当于 x = (byte)(x+20);//byte x=1;x=x+1;时会出错,因为涉及到数据类型的转换。
System.out.println(x);
}
}
运算符:
-
运算运算符
-
赋值运算符
-
比较运算符
-
逻辑运算符
-
三元运算符
常见的引用数据类型:
import java.util.Scanner;
public class ScannerDemo01 {
public static void main(String[] args) {
//创建Scanner引用类型的变量
Scanner sc = new Scanner(System.in);
//获取数字
System.out.println("请输入一个数字");
int n = sc.nextInt();
System.out.println("n的值为" + n);
//获取字符串
System.out.println("请输入一个字符串");
String str = sc.next();
System.out.println("str的值为" + str);
}
}
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
// 创建Random类的实例
Random r = new Random();
// 得到0-100范围内的随机整数,将产生的随机整数赋值给i变量
int i = r.nextInt(100);
//得到0.0-1.0范围内的随机小数,将产生的随机小数赋值给d变量
double d = r.nextDouble();
System.out.println(i);
System.out.println(d);
}
}
跳转语句(break,continue)
break:
作用是终止某个case并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。
注意事项:
当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环,如果想使用break语句跳出外层循环则需要对外层循环添加标记。
public class BreakDemo02 {
public static void main(String[] args) {
int i, j; // 定义两个循环变量
itcast: for (i = 1; i <= 9; i++) { // 外层循环
for (j = 1; j <= i; j++) { // 内层循环
if (i > 4) { // 判断i的值是否大于4
break itcast; // 跳出外层循环
}
System.out.print("*"); // 打印*
}
System.out.print("\n"); // 换行
}
}
}
continue
作用是终止本次循环,执行下一次循环
下来通过一个练习对1~100之内的奇数求和
public class ContinueDemo {
public static void main(String[] args) {
int sum = 0; // 定义变量sum,用于记住和
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) { // i是一个偶数,不累加
continue; // 结束本次循环
}
sum += i; // 实现sum和i的累加
}
System.out.println("sum = " + sum);
}
}