## 任务
1. 数据类型
2. 运算符
3. 流程控制语句
4. Scanner 和 Random
## 数据类型
1. 基本类型
1. 整数类型
1. byte 稀有物种,传输,读取文本内容, 也不怎么用
2. short 濒临物种 —— 基本没有人用
3. int 大路货 —— 经常使用
4. long 幕后 —— 当大路货无法承受的时候,long就出现代替int来接受对应的内容
2. 浮点类型
1. float 单精度浮点类型 6~7位
2. double 双精度浮点类型 15~16位
3. 字符类型
1. char 由单引号所引起来的内容,且只有一位
```java
char c1 = 'a';
char c2 = 'A';
char c3 = '中';
char c4 = '&';
char c5 = '0'; // 0~9
```
2. 字符类型其实也是整数类型
4. 布尔类型
1. boolean true & false
2. 八大基本类型中,唯一一个不能够算术计算的类型
2. 引用类型
含义: 除了八大基本类型以外的所有类型都被称呼为引用类型
1. String —— 字符串类型,是引用类型之一
使用: 通过双引号引起来的内容,其中长度接近于无限
内容: 阿拉伯数字,英文大小写, 符号等等
```java
String str = "abc";
System.out.println(str); // abc
String s1 = "ja";
String s2 = "va";
System.out.println(s1+s2); // java
```
2. String类型的功能
1. length(): 显示字符串的长度
2. trim(): 除去字符串中首尾空格
3. charAt(int index): 显示index位置上的字符(char)
4. equals(String otherString):
比较当前字符串与otherString的值是否相同
2. Scanner —— 扫描器
格式: Scanner 变量名称 = new Scanner(System.in)
含义: 创建扫描器
作用: 允许控制台可以接受用户所输入的内容
功能:
next() 允许控制台输入数据,并把数据截取成String类型
nextInt() 允许控制台上输入数据,并把数据截取成int类型
nextDouble() 允许控制台上输入数据,并把数据截取成double类型
### char类型
1. char类型是由单引号引起的内容组成,且位置只能有一位
2. char类型也是特别的整数类型,char拥有对应的int码值
例如: 'a' --> 97
'b' --> 98
'@' --> 64
3. char类型中由于都是字符,所以对应的int码值是没有负数,都为正整数,范围0~65535
### 默认的小数类型和整数类型
1. 默认的整数类型: int
2. 默认的小数类型: double
3. 只要出现的是整数,一定是int类型
4. 只要出现的是小数,一定是double类型
### 声明变量
数据类型 变量名称 = 初始值;
int a = 10;
boolean b = true;
#### 赋值号的作用
作用: 把符号右边的值传递给符号左边的变量
使用条件: 符号右边的类型精度必须小于等于
符号左边的类型精度
### 基本类型中精度的问题
1. 整数类型中,分别是byte, short, int, long,这四个类型范围从高到低的排序?
long, int, short, byte
2. 小数类型中,分别是float, double, 这两个类型范围从高到低排序?
double, float
3. 请问,在数据中会分整数和小数,精度高的是哪个类型?
小数精度高
4. 基本类型中,对于类型精度的排序,从高到低?
double, float, long, int, short, byte
char
```java
int a = 10;
double d = 10;
int i = (int)3.1; // 对3.1的数值,进行了强行转换
System.out.println(i); // 3
int i2 = (int)3.9999999;
System.out.println(i2); // 3
```
### long & float类型
long什么时候会使用?
当int类型无法承受的时候,long类型就可以使用了
long如何使用?
long的精度比int高, 默认的类型又是int类型,从int类型转向long类型是无法进行强行转换的,直接在数据后面添加字母L,大小写都可以,但是强烈建议使用大写
float类型一般使用比较少,但是若客户指明使用该类型的话,则直接在小数后添加F字母,大小写都可以
```java
long l = 9999999999L;
float f = 3.14F;
double d = 3.14D;
```
### 基本类型的转换
1. 自动类型转换
对于基本类型中, byte, short, char类型都拥有自动类型转换,只要输入的整数不超过这三个类型,则都会自动转型成对应的类型,若出现了运算,则会自动先变成int类型,在进行运算,运算结果不再拥有自动转型的功能
``` java
byte b1 = 1;
byte b2 = 2;
byte b3 = (byte)(b1 + b2);
System.out.println(b3); // 3
```
2. 强行类型转换
从高精度类型转向低精度类型的过程,简称:强转
这样的操作由于会损失精度,所以不建议经常使用
```java
int i = (int)9999999999L; // 从long类型转向int类型
int i1 = (int) 3.14; // 从double类型转向int类型
float f = (float)3.14; // 从double类型转向float类型
```
## 运算符
1. 算数运算符
```java
+ - * / % ++ -- +
/ --> 5/3 --> 1
5/4 --> 1
5/2 --> 2
6/3 --> 2
7/4 --> 1
% --> 5%2 --> 1
6%3 --> 0
6%0 --> 报错 / by zero
100%1000 --> 100
```
注: 使用算数运算符,同种类型使用,结果类型不变
不同类型使用,结果跟着精度高的
++ -- 自增1, 自减1
例如: int a = 1;
System.out.println(a); // 1
a++; // 后自增, 先运算当前代码,后自增1
System.out.println(a); // 2
int b = 10;
++b; // 前自增, 先自增1, 再执行当前的代码
System.out.println(b); // 11
\+ 不是加法的加,而是拼接, 拼接两个不同类型的内容
基本类型中分: 布尔类型, 数字类型
适用于基本类型与引用类型或者引用类型与引用类型
```java
String s1 = "ja";
String s2 = "va";
int a = 1;
System.out.println(s1+s2+a); // java1
int b = 2;
System.out.println(b + s1 + s2); // 2java
System.out.println(s1+a+b+s2); // ja12va
```
2. 赋值运算符
= += -= *= /= %=
```java
int a = 10;
++ --> 自增1
+= --> 自增n
a += 1000; // a = a + 1000;
System.out.println(a); // 1010
a -= 100; // 910
a *= 10; // 9100
a /= 10000; // 0
a %= 100; // 0
```
2. 比较运算符
```java
> >= < <=
!= 不等于
== 等于
通过比较运算符,得到的结果为boolean类型的值,true和false
10 != 10 --> false
5 >= 5 --> true
```
2. 逻辑运算符
```java
&& 与/逻辑与/短路与
作用: 连接多个表达式
效果:
int a = 10; int b = 20;
System.out.println(a+b > 30 && a - b < 20);
结果: 符号左右两边的表达式的结果都为true的时候,结果才为true
当符号有一边为false的时候,结果为false
符号左边已经为false, 则右边就不用考虑了
|| 或/逻辑或/短路或
作用: 连接多个表达式
效果:
int a = 10; int b = 20;
System.out.println(a != b || a > b);
结果: 符号左右两边的表达式只要有一边为true,则结果为true
当符号两边都为false的时候,结果才为false
符号的左边已经为true, 则右边就不会在考虑了
! 非、取反
!false --> true
!true --> false
!(5>3) --> false
!(10<11) --> false
!(10/3<5) --> false
!(9!=10) --> false
!(10!=10) --> true
表达式: 含有数字、字母以及符号做组成的一个式子
int a = 10;
a >= 5; true
```
2. 三目/三元/条件运算符
公式: 表达式 ? 表达式1 : 表达式2
含义: 当表达式的结果为true的时候,则执行表达式1
当表达式的结果为false的时候,则执行表达式2
表达式1和表达式2的结果类型需要一致
```java
int a = 200;
int b = 150;
String result = a > b ? "老蔡重" : "班花重";
System.out.println(result);
```
练习1:需要定义两个值,来显示哪个值比较大
练习2: 在控制台上输入两个值,来判断哪个值比较大?
练习3: 在控制台上输入一个值,判断该值是否是偶数?
## JDK工具中含有的内容
1. JDK
1. JRE
2. 编写、测试、维护的功能 —— 针对编写代码使用
2. JRE
1. JVM
2. 所有Java的工具包以及对应的环境
3. JVM —— 执行代码的虚拟机 —— 就是执行.class文件(字节码文件)
## Eclipse的使用
1. Project为单位
1. Folder -- 目录 -- package
1. Class
所有的视图框 :
window --> show view
切换工作空间:
File --> switch workspace --> 历史目录以及other(可以新建新目录)
修改字体风格:
window --> preferences --> 五个一
运行代码的方式:
1. ctrl + F11
2. 直接点击工具条上的播放按钮
3. 右击代码区域,找到run as, 点击 Java Application
创建新的文件,来书写命令
1. 在空的package explorer中,右击,点击New,找到Java Project
2. 去书写该Java项目的名称, finish
3. 点开项目之后,去右击src, 点击New, 点击package,定义package的名称
书写格式: 公司域名结尾.项目名称.公司名称.作用
cn.hc.day02
4. 右击点击package名称,点击New, 找到class —— .java文件
注释: 告知某段代码的含义,但不会在执行的内容中出现,且可以写上任意内容
1. 单行注释 //
2. 多行注释 /* */
3. 段落/文本注释 /** */ —— 告知使用者的作用
## 作业
1. 在控制台上分别输入,自己的姓名、年龄、以及性别,用一个print打印所有信息
2. 在控制台上分别输入三个不相同的数字,比较哪个数字是最大的
3. 在控制台上分别输入年份和月份,计算从1900年1月至输入的时间一共经过了多少月
4. 在控制台上分别年份,显示该年是否是闰年
5. 在控制台上输入数字,显示该数字是否是能够被130整除的
6. 在控制台上分别输入两个数字,显示这两个数字之间的加减乘除
7. 在控制台上输入月薪以及季度奖金,显示当年年薪
8. 在控制台上输入班花的三围,显示班花是否是美女
9. 在控制台上输入一个数字,把该数字转换成字符串
10. 在控制台上输入到公司来的时间,计算一天的来回一共需要消耗多少毫秒
1个小时30分钟 --> 90分钟 --> 5400秒 --> 5400000 毫秒
24小时 --> 1440分钟 --> 86400秒 --> 86400000 毫秒
Day02 【Java基础②】链接:
链接:https://pan.baidu.com/s/1Lj4uFQnZJVEULxMZE8KB1Q
提取码:ajar
Note:
欢迎点赞,留言,转载请在文章页面明显位置给出原文链接
知者,感谢您在茫茫人海中阅读了我的文章
没有个性 哪来的签名!
详情请关注点我
持续更新中
© 2021 05 - Guyu.com | 【版权所有 侵权必究】