20日
学习了Java环境的安装以及激活,并在cmd中通过Java与Javac检查环境是否配置成功,以及学习Java文件通过编译后后缀名变成.class的文件,如果Java源文件中有多个类,那么只有一个类是main
21日
学习了变量,数据类型以及一些运算符
变量学习心得:在变量的命名过程中还要符合阿里编程规约中变量名使用小驼峰式命名法例如,teacherName。变量的值还需要符合相应的数据类型,变量还可以重复赋值。
数据类型学习心得:了解了全局变量和局部变量的区别,作用域不同,初始的值不同,如果全局变量没有初始值,系统会给变量赋值,但是局部变量必须手动赋值。在数据类型强制转换部分感觉是难点,但是了解了转换类型的大小就可以迎刃而解。
* 数据类型的强制转换
* 自动转换:小的数据类型转大的数据类型
* 强制转换:大的数据类型转小的数据类型
* byte < short < int < long < float < double
* ^
* |
* char
除了boolean类型之外,其余数据都可以进行相互转换
运算符学习心得:算数运算符,比较运算符和赋值运算符中赋值比条特殊点,方向从右向左,三目运算符感觉可以运用到很多判断中解题,在逻辑运算符中,需要注意的是逻辑与和逻辑或 还有短路与 短路或
* &&:短路与 只要执行的过程中发现有一个值是假的,那么就得出结论不再往后进行计算
* ||:短路或 只要执行的过程中发现有一个值是真的,那么就得出结论不再往后进行计算
22日
位运算符
&:按位与:如果两个都为1,那么结果就是1,中间有一个数是0,结果就是0
|:按位或:如果有一个是1,结果就是1
^:按位异或:(同假异真)
~:按位取反: 将0变成1,将1变成0
>>有符号右移
<<左移
>>>无符号右移
感觉有点麻烦不过老师说用的少,了解。
Scanner 扫描器,就是将用户输入的控制台信息获取到
Scanner 对象名 =new Scanner(System.in);
Random随机数:
运用类似与scanner ,点开Random别人写好的类发现还有有规律的,生成的可以说是伪随机数。
流程控制学习心得:
if(条件表达式){
语句一;
}else if(条..){
}
那个条件正确用哪个。
switch中的case可以是很多值,条件相同的case就执行,忘记写break会被穿透
23日
* for(初始化条件表达式;条件表达式;控制条件表达式){
* 程序执行的循环内容;
* }
* 初始化条件表达式:定义程序从什么时候开始执行
* 条件表达式:程序在什么条件下结束
* 循环内容:程序执行的主要内容
* 控制条件表达式:对程序执行的条件进行修改
while和 do while的区别是不管是啥dowhile都会执行一次再进行判断;
避免死循环,使用截断循环
* break:当一层循环结束循环.当有两层循环的时候,结束内层循环
* continue:跳过当前的循环
24日
嵌套循环举个求质数的例子
public class zhishu { public static void main(String[] args) { for (int i=2;i<100;i++){ boolean flag =true;//默认所有数为质数 for (int j=2;j<i;j++){ if(i%j==0){ flag =false; break;//当一个数已经被除尽的时候,求余运算结束内层循环 } } if (flag){ System.out.println(i);//输出100以内不包括100的所有质数; } } } }
数组的学习心得;
定义方法
动态初始化:
//数据类型[] 数组名 = new 数据类型[数组长度或者元素个数];
//定义了一个int类型的数组,数组长度是5
int[] arr = new int[5];//[0,0,0,0,0]
arr[3] = 100;//[0,0,0,100,0]
//静态初始化:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
String[] name = new String[]{"依古比古","玛卡巴卡","唔西迪西","小点点","叮叮车"};
数据类型[] 数组名 = {元素1,元素2,元素3...};
double[] price = {39.9,69.9,9.9,89.9,288};
举一个冒泡排序的例子:
public class MaoPao { public static void main(String[] args) { int srr[]={1,2,456,78,456,87,65,421,999,785};//定义一个特定数组随后进行排序 System.out.println("初始"+Arrays.toString(srr)); for (int i=1;i<srr.length;i++){ //外层循环定义多少轮数 for (int j =0;j<srr.length-i;j++){ if (srr[j]>srr[j+1]){ int temp =srr[j]; srr[j]=srr[j+1]; srr[j+1]=temp; } } } System.out.println("冒泡排序后"+Arrays.toString(srr)); } }