兄弟们,内容是差不多的,我自己整理了下学习时的内容和联系。结合知识点谈自己的想法浅谈理解。进入练习之前咋们一定要有,自己的 思考与理解。老话说得好,师傅领进门,修行靠个人。和我一道学习的小伙伴们有转行学习的,有跨专业学习的。所以在这里,我觉得大家可以放下精神高地,觉得我学过,应该抱着一无所知的心态学习,才能激发个人求知欲与能力提升。
粗俗点说,学东西必须学到位,自己学到了谁也偷不走。才能在时机成熟时抓住机会展现才能。不懂就问(可以问同行,老师,面子挂不上就百度一下,社区里面好大哥还是挺多的),写代码根据想要达成的目的,分步骤来进行编写代码。
不是那种网上爬代码,不知道连代码为啥这样写,表达啥意思。没自己的编程思想。以后写代码,只能达到旷世之作水平了。难过(ಥ﹏ಥ)
一、知识点
1.变量声明
数据类型 变量名称 如: int num;
1.1变量赋值
变量名 = 值; 如 :num=3; (你赋的值,与你声明的变量数据类型相一致)
2.数据类型
2.1基本数据类型(8种)
1.整数型:
byte, 1个字节8位的二进制数,十进制数的范围:[-128,127], -2^7 ~2^7-1
short,2个字节16位的二进制数,十进制数的范围[-32768,32767],-2^15~ 2^15-1
int ,4个字节32位的二进制数,十进制数的范围:【-2^31,2^31-1】 (系统默认整数类型)
long, 8字节64位的二进制数 ,十进制数的范围:[-2^63~2^63-1]
字面值:能够直接给变量赋值 的内容(数据)称为字面值,字面值也有数据类型
整数的默认的字面值为int 类型,可以在字面值的后面添加后缀,修改默认的字面值类型
如: a=2100000001L;
2.浮点数型:float(单精度:能算出小数后7-8位),double【能算出小数点后15-16位结果】(系统多数情况下,浮点数默认类型是double)
2.2boolean布尔类型
判断数据的逻辑 为真(true)或者为假(false)。
例如:num = 4;
boolean result = num >5 ==true;
System.out.println(num+"大于5的结果为:"+result);
3.字符串类型
char类型: 存放在 单引号内的一个数字,字母,或文字。 参考知识:ASCII码(计算机储存信息都是以二进制储存,而每个字母,数字都有对应的值)例如:char = 'a';
String类型:存放在 双引号 内的一个或者一组内容。
3.输入输出语句
在java中输入输出语句,写法是固定的。
3.1输入语句:Scanner 变量名 = new Scanner(System.in);
注意:有输入语句出现时,必须在代码结尾出加上:
变量名.close ();
作用: 及时关闭输入通道,避免内存占用,数据溢出。
输入知识很重要!很重要!重要!要!
变量类型 变量名 = scanner.next数据类型;
整数型:int num=scanner.nextInt();
浮点数类型: double/float price= scanner.nextDouble/.nextFloat();
字符串类型: String goods = scanner.next(); 注意:字符串开头是大写,格式也要看清楚!
字符串知识很重要!很重要!重要!要!
注意:输入语句需要调用包,可以手动输入,也可以在代码报错内容(找到报错的小红×)里面找到快捷输入,双击后自动添加到主函数类代码 上方位置。
3.2输出语句:System.out.println("内容"+"其他内容");
注意:+ 号是连接符号,= 号是变量赋值符号。其中print是换行输出,println是不换行输出。
+ , - , * 乘 ,/除 %(模:取余) ++自增,--自减 | / (整除,舍弃小数) %运算:商的符号与被除数的符号相同 num++:先运算,后自增 ++num; 先自增 ,后运算 |
例如: int i = 5; int j = 10; | |
>= , <= ,> , < , == ,!= | == (判断数据类型是否相等) !=:不等于 |
&与 ,短路与&& ,|或 ,短路或 ||,逻辑非! | 短路与:一但有表达式为flase,最终结果也为false. ("一假则假") 短路或:一但有表达是为true,最终结果也为true.(“一真则真”) 逻辑非!。格式为: r = !(num == 0); |
三目运算符:数据类型 变量名称=表达式1(布尔类型)?表达式2:表达式3; 表达式1为true,返回表达式2结果,为flase 则返回表达式3结果。 result 结果类型 与 表达式2和3 的数据类型一致。 如:int num1=3,num2=5; String result=(num1>num2)?"成立":"不成立"; //红字三者,数据类型要一致。 System.out.println(num1+">"+num2+"的结果:"+result); |
方便理解,我结合了输入输出的知识对三目运算符进行讲解。如下图:
4.数据类型转换
1.银饰类型转换(自动类型转换)
小转大,自动转(数据范围)。
思想:小范围的数据可以放到更大范围的数据中,但是大范围的数据放到小范围的数据中,就可能导致数据出现溢出和错误。
2.显式类型转换(强制转换)
大范围转换为较小范围的数据类型,多出部分只会在小范围数据的两边循环。
过大,则在左边循环,过小,则在右边循环。
语法:在数据之前使用小括号将目标数据扩起来。
如:int i =100;
byte b =50;
b=(byte)i;
数据类型从小到大排序:(数据转换排除boolean类型,因为它只有真或假情况,也就是1和0的情况。)
二、小练习
练习前注意:1.注意键盘大小写(有时候报错就是写符号,没切换位英文模式)
2.变量名称与输出时保持一致性(自己取的名,赋的值要记清楚)。
1.输出语句练习
掌握换行方法。
2.变量赋值取值练习
方法1:利用新变量,来反复给另外两个变量交换取值,最终达到交换变量值的目的。
方法2
总结:每个数据类型最终,都会存入到计算机的数据空间中,这个空间的实际值是固定的,但是你能给它取名,给它放进新东西进去。抽象来说,数据空间好比一个木箱子,它本质是木头做的,但是你可以给他装固体,可以叫他玻璃箱子,铁箱子,但是它装不了液体。因为每个数据空间,装的数据类型值是一致的。
3.变量基本数学运算
3.1基本运算
方法一:变量赋值计算:
方法二:输出行计算:
其他计算方法同理。
3.2进阶计算
1.求一个两位整数的个位数,十位数,逆序数
总结:此题考察的是模运算与整除运算的应用。
/ 整除:只求结果的整数部分,小数部分舍去。模运算: 求一个数的小数部分值。
此题考察的是模运算与整除运算的应用。你是不是记不起模运算是怎么求的了?
o(╥﹏╥)o 老师说是小学时候学的,我也忘了,这里放张图片。
2.布尔类型练习
初级练习
1:随机给定一个数:判断他是否是奇数或者偶数
2:随机给定一个三位数,判断他是否是完美偶数
此题考查的是 数字的模整除运算 和 逻辑与 &&符号 的应用情况
3:给定一个年份,判断这个年份是否为闰年
考察:基本科学知识闰年 + 逻辑与&& +逻辑或 ||
进阶练习
1.任意给定三个整数,输出这三个帧数能够成三角形的结果。
(默认取值都是正数,主要博主觉得条件长,懒得写这种情况了O(∩_∩)O哈哈~)
情况1:符合两边之和大于第三边,或者两边之差小与第三边
情况2:任意给定三条边,两小边之和小于第三边的并且两小边之和大于第三边
3.输入+布尔逻辑练习
用户输入1个年龄,判断这个年龄是否符合,合法的用工年龄。
小伙伴们,是不是已经忘了逻辑与短路,逻辑或短路知识了。\ (*^▽^*) / 嗯?
我只能说 菜就多练! 骗你们的,我觉得都学到这步了,应该要懂得孰能生巧,勤能补拙。
我学这部分知识的时候,也是小脑萎缩了好久。加油吧!
4.综合练习
结合所学所有阶段知识点,出一个基础课阶段最终练习题。
小伙伴们代码很长,你们忍一下。
这虽然是你我,此次基础体验课的结束,但是是你我,所有编程路的一个小小开始。上面的内容代码,发散性是有的,我把它在博客上后,也发现了许多改进的地方,学习效果因人而异。下面进入正题。
基础体验课:最终篇
事件: 我是王小二,在一家修真杂货铺重生当会计,遇到海外散修前来买一些丹药符宝,该如何赚他钱最合理呢
奇遇: 今天超市有打折活动 :消费 满50元打9.5折扣,满100元打9折, 满150元打8.5折。
“还是那句话,你可能有点小赚,但我永远不亏!”
思想:此题类似超市打折策略问题,不可能你花的越多越便宜,它的套路是结合多种打折范围来收费,最后相加而来,买完打折总费用> 买打折的同样商品相加。不然一旦超过打折最大额度,买的东西都按最大额度打折,就赚不了太多钱。
要求:买三个东西得了,不然代码太长了,好多知识点都是重复的,没必要,知道怎么写的。知识点掌握了就行。O(∩_∩)O哈哈~
代码截图:
运行截图为:
小伙伴们,代码提示快捷键 ALT + / ,前面不告诉你们是因为。代码要多敲多练,写了那么多。想必大家都懂了基本操作和编程思想了,这算是小彩蛋吧。哈哈O(∩_∩)O哈哈~
(`・ω・´)ゞ 学完这些基础代码的小伙伴们已经算是入门了。今后多多加油吧(`・ω・´)ゞ