昨天晚上有打五个小时,中间没怎么休息,打的左手有点酸麻,继续.......
其实刚开始学习Java,肯定是避免不了犯错的,往往有时候你想去做好一件事,越怕出错,越会错,犯错并不可怕,我们每个人多会犯错,问题主要在于我们怎么看待犯错这件事情。刚刚开始学习,犯错难以避免,古语言知错能改,善莫大焉。犯错并不可耻,犯错也是最快的学习途径,我们只有不断尝试,不断学习,从老师那里得到的知识,再去延伸。犯错才会有进步的空间,才能不断地提升自我,也要多反思,多和老师和同学讨论。
其实写修炼手册,也是卓然觉得学习编程是一件很枯燥的事,也需要很好的逻辑思维和理解能力,因为我逻辑和理解都比较差,所以自己也是在不断强调,你真的打会了吗?过几天你还能在做出来一样的效果吗?你现在不继续,别人可能比你更努力。写这些文章也希望可以激励一些和我一样转行或者刚开始学习的人,其实人也是一直再过重复的生活,足足备注,子子孙孙都一样,但因为有了追求,才让不断重复的生活,不断增添新的色彩。
言归正传,毕竟我还是在连码提速,连码奴都不是,请看正文:
Java语言基础 ---day02
如果看到这有疑问数据类型,关键字 后面都会写到,我也是初学者,有叙述不周的地方还望指出,拜谢,都是自己的笔记,权当是温故而知新.
8种基本数据类型
主要学了5种
数据类型 | 字节 | 取值 | 说明 | |
byte | 1个字节 | -128~127 | ||
short | 2个字节 | -32768~32767 | ||
int | 整型 | 4个字节 | -2147483648~2147483647 | ①整数直接量默认 int 类型 赋值超范围 会编译错误 ②两个整数相除还是整数, 小数位无条件舍去 不会四舍五入 ③整数运算时若超出范围会发生溢出, 溢出不会报错 但是需要避免 |
long | 长整型 | 8个字节 | 很大 | ①长整型直接量需要在数字后加 L ②整数运算结果会发生溢出时 建议在第一个数字后加大写L ③long times = System.currentTimeMillis(); 用于获取1970.01.01零时到此时此刻的毫秒数 |
float |
浮点型 | 4个字节 | 表示floatzhijel 要在数字后面加F或f | |
double | 浮点型 | 8个字节 | ①浮点型直接默认量为double 类型 ②double类型 可在数字后加D或d 或不加 ③double 和float 类型 参与运算时 发生舍入误差 精度丢失 |
|
boolean | 布尔型 | 1个字节 | true/false | 用来 判断关系 只有true 或false 两种结果 |
char | 字符型 | 2字节 | 0~65535 | ①char 类型本身是采用 统一码字符 0-65535数位 ,'a'=97 'A'=65 '0'=48,本质上也是int 整数类型 ②必须放在单引号中(' ') 只能有一个 可以空格符 不能空字符 '\''转译 |
;
类型间的转换: ⑴自动转换 小类型到大类型 :从小到大
byte - short - int - long -float - double
-char-
⑵强制类型转换 :①强转可能发生溢出②强转 可能会丢失精度
语法:
数据类型 变量名 =(要转换的类型)变量名
两点规则:①整数可以直接赋值给 byte short char 只要不超出范围即可 ②byte short char 在参与运算时 一律转化为int 在计算
byte b1 = 5;//整数直接量可以直接赋值给byte ,short , char
byte b2 = 6;
//byte b3 = b1+b2;//编译错误,byte ,char,short 型数据参与运算,先一律转换为int类型
byte b4 = (byte)(b1 + b2);
System.out.println(b4);
有些小代码及不放了,都是很简单的理论知识.不喜勿喷.. 多谢
运算符
⑵ ++ ,-- 自增1/自减1 ,①单独使用时 在前在后都一样
②被使用时,a++的值为a ———— (a--的值为a),++a的值为a+1 ———— (--a的值为 a-1)
short s=5;//面试题
s+=5;//自带强转 s=(short)(s+5)
//s=s+5;//编译错误, 默认int类型
s=(short)(s+5);//需要强转
3)关系运算符:>,<,>=,<=,==(等于),!=(不等于)(在Java中 一个等号是赋值,两个等号是判断相等)
关系运算符的结果为 boolean 型,关系成立为true 关系不成立为false
4)字符串连接符: + ; ①两边为数字做加法运算 ②若两边有字符串 则做字符串连接
5)逻辑运算符: ⑴逻辑 与 && 并且 ①两边都为真则为真 见false 则false ②短路 :当第一个数boolean值为false 则发生短路 后面的不执行 ⑵ 逻辑 或 || 或者 ①有一边为真则为真 ,见true则true ②短路: 第一个数为true时 ,则发生短路 后面的不执行 ⑶逻辑 非 ! 取反 :非真则假 非假则真
6)条件 /三目运算符 1)语法:
boolean ? 数1 : 数2
2)执行过程:
判断boolean 的值
为true 则表达式的结果为 数1
为false 则表达式的结果为 数2
闰年的 判断
闰年的判断公式
1)能被4整除 并且 不能被100整除 :year%4==0&&year%100!=0
或者 ||
2)能被400整除 :year%400==0
//year%4==0&&year%100!=0||year%400==0
int year =2020;
boolean flag = (year%4==0&&year%100!=0||year%400==0);
//flag true s是闰年 false是平年
String str = flag? year+"是闰年" : year+"是平年";
System.out.println(str);
作用域问题:变量的作用域 /范围 ,从变量的声明开始,到包含他,前面最近的大括号结束.