今天算是第一天正式的学习,属于跟班学习,加入他们时算是开课第三天。由于有一点点基础所以勉强能接受进度。接下来我会介绍整个在达内培训的过程。
开始便是跟着上次讲,复习了上节课的内容运算符。+,-,*,/这些。然后今天开始讲解了%取模。
取模
取模又叫取余,用%表示。取余,顾名思义就是小学除法中的余数。其中取余为0的被称为整除。eg:10%3=1 , 9%3=0 。这两个算式中,第二个就是整除,整除是专有名词。
自增自减。“++,--”
1)++代表自增,单独使用时,++在变量前后不会有太大的影响。
a++,++a都表示a+1,单独使用时效果一样。
int a = 5;
那么a++ = 6,++a也等于6.
2)当自增和变量被当成整体使用时,a++的值为a,++a的值为a+1
int a = 5,b = 6;int c = a++, d=++b
上面的结果中,分别打印(println)a,b,c,d.结果a=6,b=7,c=5,d=7.
(重要个人理解总结):
1:程序一条一条进行,上面出现了a++或者++a后,后面所有a使用时都+1.
2:a++和++a,前面用的时候先接触到a所以取得是a,然后a再++,后面一个先接触到+号所以先进行a+1,再用整个值。eg:c = a++中,先是c=a,然后是a++。d = ++b中,先是进行了++b再将++b运算过后的值赋值给d。
再举例
int a = 5,b=10;
System.out.println(a++);//5
System.out.println(a++);//6
System.out.println(++b);//11
System.out.println(++b);//12
第一个打印是先接触到a所以打印的是5,然后进行a++,此时a的值变成了6,然后第二次打印的时候此时就是6了。而第三先碰到的是+,所以打印结果是11。
“++”代表自增,“--”代表自减效果和注意事项和++一样。
(上面所有用时40分钟)
关系运算
包括六种(大于>,小于<,大于等于>=,小于等于<=,等于==,不等于!=)
每行使用关系运算符的值都为布尔值(Boolean),只有TRUE和FALSE两个结果。
10 > 5的值为ture,12>=15的值为false。
5++>5为false
++5>5为ture
(个人理解):六种关系运算符,其中两两相对,>对应<=,<对应>=, ==对应!=。这样对应的原因:a>b和a<=b这两个一定有一个是true,另一个是flase。同理a<b和a>=b中一个是ture,另一个是false。有人问为什么不是<和>对应,因为我写的对应在数学上不是对称,而是一种补集,互补。两个和在一起是全集的。比如小于(<)5的数和大于等于(>=)5的数和在一起就相当于取了所有数。
逻辑运算符
(突然来了一阵迷茫感,昨天中午才听说这个地方,下午去和老师谈了一下,今天就直接上课了。现在才反应过来,这是冲动还是脑子混沌了)
逻辑运算符包括三个,且或非。且&&,或||,非!。
使用逻辑运算符得出的结果也是布尔值(Boolean),要么是TRUE,要么是FALSE。
eg:100>60 && 120 >=50 结果为TRUE,
50<=1 || 50 > 12 结果为FALSE。
!(50>=30)为FALSE。
总结:两个都为真且才能是真,两个都是假或才能是假,非直接把真变成假,假变成真。
TURE && TRUE 结果为TRUE
TURE && FALSE 结果为FALSE
FALSE && FALSE 结果为FALSE
TURE || TRUE 结果为TRUE
FALSE || TRUE 结果为TRUE
FALSE || FALSE 结果为FALSE
!FALSE结果为TURE
!TURE结果为FALSE
(难点)
连续运算时怎么判断,短路思维
语句1&&语句2中,如果语句一为FALSE,那么不执行语句二,直接得FALSE。
语句1||语句2中,如果语句一为Ture,那么不执行语句二,直接得Ture。
条件运算符
语法:
Boolean?a:b;
判断Boolean语句,如果此语句为真,返回值a,反之返回值b。
eg
int num = 5;
int flag = num>0?1:2;
System.out.println(flag);
//因为5是大于0的,所以num>0结果为ture,返回给flag一个1
eg:取两个数的最大值
int a =10,b=11;
int max = a>b?a:b;
//a>b 判定时,因为a小于b所以为false,返回b给max。
运算符学完,然后讲了整个变成分为三种结构,顺序结构,分支结构,循环结构,上面全是顺序结构。后面讲的是一个分支结构
分支结构,条件语句if
if语句:
if(条件判断){
执行语句
}举例说明了
int a = 20;
if(a%2==0){
System.out.println("这个数是偶数");
}
System.out.println("这句话要执行……")
if()括号中的判断语句,如果里面结果为ture,那么if后面大括号里面的语句能顺利执行。如果小括号里面的语句结果为Flase,那么大括号里面的语句不能执行。当然,不管小括号里面的判断语句是否正确,最下面的那条代码语句都能执行。
if else语句:
if(条件语句){
执行语句
}else{
执行语句
}接着举例说明
double b = 499.9;
if(b>=500){
System.out.println("需要支付"+b*0.8);
}else {
System.out.println("需要支付"+b*0.9);
}
System.out.println("这句话肯定执行");
这段代码中,b=499.9,小于500,所以if后面的小括号为假,大括号里面的语句不执行。此时执行else后面的大括号的语句。if和else都存在的时候,一定会且只会执行其中一个大括号的语句。判断if后面小括号里面,如果为真执行if后面大括号的语句,如果为假执行else后面大括号的语句。
最后是个很经典的闰年的判断。
int year = 2022;
if((year%4==0&&year%100!=0)||year%400==0){
System.out.println("今年为闰年");
}else {
System.out.println("今年不为闰年");
}
第一天就完了,过得挺快的,刚开始觉得讲的很慢,但是一整天过去,感觉讲的也不少。主要老师说了前面有点慢是为了照顾没有基础的同学。