单词记录
cast:转换reverse:反转
类型转换
低—->高
byte,short,char->int-->long-->float-->double
强制类型转换
高转低int i= 128;byte b = (byte)i;sout(i)sout(b)
自动转换
int i =128;double ii = i
注意事项
- 不能转换布尔类型
- 不能把对象类型转为不相干的类型
- 高容量转低容量要强制转换
- 转换的时候纯在进度问题或者内存溢出
新特性
int money = 10_0000_1000sout(money) //1000001000
字符中可以输入下划线,但是不会被输出和计算
变量和常量
类变量和实例变量
/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {static double a = 123;String aa;int aaa;public static void main(String[] args) {System.out.println(a);//类变量,不需要new类Hello hello = new Hello();System.out.println(hello.aa);//实例变量System.out.println(hello.aaa);}}
常量
static final double aaaa= 3.22;//常量
运算符
% 是取余= 一个等号是赋值与:&&与两个同时满足 或:||其中一个满足 非!非你即我
二元运算符
sout(a+b)
自增自减
a++b--
幂运算
3的2次方double pow = Math.pow(3, 2);System.out.println(pow);//9
三元运算
a+=b //a = a+ba-=b//a = a-b//字符串连接int a =10int b = 20sout(""+a+b)//1020sout(a+b+"")//30//x ? y : z//如果x==true,则结果为y,否则为z
循环
while循环
while 先判断后执行
/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {public static void main(String[] args) {int i = 0;int sum = 0;while (i<101){sum=sum+i;i++;}System.out.println(sum);}}
switch
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(expression){case value ://语句break; //可选case value ://语句break; //可选//你可以有任意数量的case语句default : //可选//语句}
do while 先执行,后判断
/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {public static void main(String[] args) {int i = 0;int sum = 0;while (i<0){System.out.println(i);sum=sum+i;i++;}System.out.println("---------------");do {System.out.println(i);i++;}while (i<0);}}
for循环
/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {public static void main(String[] args) {//初始值,条件,迭代递增for(int i=0;i<=100;i++){System.out.println(i);}}}
输出99乘法表
/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {public static void main(String[] args) {for (int j = 1; j <= 9; j++) {for (int i = 1; i <= j; i++) {System.out.print(j + "*" + i + "=" + (j * i) + "\t");}System.out.println();}}}
阶乘:
5! 5 4 3 2 1
递归
/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {public static void main(String[] args) {System.out.println(f(4));}public static int f(int n) {if (n == 1) {return 1;} else {return n * f(n - 1);}}}
计算器练习
import javax.swing.*;import java.util.Scanner;/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入计算方式:");String jisuantype = scanner.next();System.out.println("值1:");double next = scanner.nextDouble();System.out.println("值2:");double next1 = scanner.nextDouble();switch (jisuantype) {case "+":System.out.println(next + next1);break;case "-":System.out.println(next - next1);break;case "*":System.out.println(next * next1);break;case "/":System.out.println(next / next1);break;}scanner.close();}}
数组
定义
int[]=nums;//1声明数组nums = new int[10];//分配空间//赋值nums[0]=1;....
//静态初始化int[] a ={1,2,3,4}//动态初始化int[] a =new int[10]a[0]=10
数组反转
/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {public static void main(String[] args) {int[] a={1,2,3,4,6};int[] reverse = reverse(a);for (int i : reverse) {System.out.println(i);}}public static int[] reverse(int[] arrays){int[] ints = new int[arrays.length];//数组反转,未做判断,直接把最后一个赋值到新变量的第一个for (int i = 0,j=arrays.length-1; i < arrays.length; i++,j--) {ints[j]=arrays[i];}return ints;}}
二维数组
int[][] array={{1,2}{3,4]}}array[0][1]
稀疏数组
import java.util.Arrays;/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {public static void main(String[] args) {//稀疏数组int[][] ints = new int[11][11];ints[1][3]=1;ints[3][5]=2;ints[4][5]=1;for (int[] anInt : ints) {for (int i : anInt) {System.out.print(i+"\t");}System.out.println();}//稀疏数组保存int sum =0;for (int i = 0; i < 11; i++) {for (int j = 0; j < 11; j++) {if (ints[i][j]!=0){sum++;}}}System.out.println(sum);//获取有效值个数//2创建稀疏数组的数组int[][] ints1 = new int[sum + 1][3];ints1[0][0]=11;ints1[0][1]=11;ints1[0][2]=sum;//将原来的稀疏数组中的非0 存入新数组int count =0;for (int i = 0; i < ints.length; i++) {for (int j = 0; j < ints[i].length; j++) {if (ints[i][j]!=0){count++;ints1[count][0]=i;ints1[count][1]=j;ints1[count][2]=ints[i][j];}}}for (int[] ints2 : ints1) {System.out.println(Arrays.toString(ints2));}//还原值int[][] ints3 = new int[ints1[0][0]][ints1[0][1]];for (int i = 1; i < ints1.length; i++) {ints3[ints1[i][0]][ints1[i][1]]=ints1[i][2];}for (int[] anInt : ints3) {for (int i : anInt) {System.out.print(i+"\t");}System.out.println();}}}
数组排序
int[] a = {12, 2222, 143, 313, 614};Arrays.sort(a);//升序System.out.println(Arrays.toString(a));
冒泡排序
import java.util.Arrays;/*** @Author: haifengzuishuai* @Data: 2021/6/4 4:56 下午*/public class Hello {public static void main(String[] args) {int temp = 0;int[] a = {12, 2222, 143, 313, 614};for (int i = 0; i < a.length - 1; i++) {for (int j = 0; j < a.length - 1 - i; j++) {if (a[j + 1] < a[j]) {temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}System.out.println(Arrays.toString(a));}}
