day02
类型转换
低----------------------------------------------------------->高
byte,short,char -> int -> long -> float -> double
强制类型转换
//(类型)变量名 高->低
int i = 128;
byte b = (byte)i ;
自动类型转换
// 低->高
int i = 128;
double b = i ;
注意点
- 不能对布尔值转换
- 不能把对象类型转换为不相干的类型
- 把高容量转换到低容量的时候,强制转换
- 转换时会存在内存溢出或者精度问题
变量
Java是强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
//数据类型 变量名 = 值; 可以用逗号隔开来声明多个类型相同的变量(不提倡)
变量作用域
- 类变量(全局变量)
- 实例变量
- 局部变量
public class Demo07 {
//类变量 static(全局变量)
static double salary = 2500;
//属性:变量
//实例变量: 从属于对象
//如果不自行初始化,这个类型的默认值 0、 0.0 、 u0000、 false、 除了基本类型都是null;
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量 ;必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Demo07()
Demo07 demo07 = new Demo07();
System.out.println(demo07.age);
System.out.println(demo07.name);
System.out.println(demo07.salary);
//类变量 static
}
//其他方法
public void add(){
}
}
/*输出结果
10
0
null
*/
常量
初始化后不能改变的值
//final 常量名 = 值;
final double PI = 3.14
常量名一般使用大写字母
变量命名规范
- 所有变量、方法、类名:见名知意;
- 类成员变量:首字母小写和驼峰原则(除了第一个单词以为,后面单词首字母大写 lastName);
- 局部变量: 首字母小写和驼峰;
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰;
- 方法名:首字母小写和驼峰;
运算符
- 算术运算符:+,-, *, /, %, ++, –
- 赋值运算符:=
- 关系运算符:>, <, >=, <= , ==, !=, instanceof
- 逻辑运算符:&&, ||, !
- 位运算符:&, |, ^, ~, >>, >>, >>>
- 条件运算符:? :
- 扩展赋值运算符:+=, -=, *= ,/=
包机制
用于区别类名的命名问题,相当于文件夹
package pkg1[. pkg2[. pkg3...]];
一般利用公司域名倒置作为包名;
为了使用某一个包的成员,需要导入该包,使用import
import package1[.package2...].(classname|*);
JavaDoc
用来自己生成API文档
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
两种方法生成JavaDoc:
参考[使用IDEA生成JavaDoc文档(2种方法)](使用IDEA生成JavaDoc文档(2种方法)_idea 生成doc-CSDN博客)
- 方法一:用idea自带工具
- 方法二:命令行窗口生成javaDoc
Scanner对象
通过Scanner类来获取用户输入。
Scanner s = new Scanner(System.in);
通过Scanner类的next()与nextline()方法获取输入的字符串,在读取前一般需要使用hasNext()与hasNextline()判断是否还有输入的数据。
- next()
-
一定要读取到有效字符后才可以结束
-
对输入有效字符之前的空白,会自动删掉
-
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
-
next()不能得到带有空格的字符串
public static void main(String[] args) {
//创建个扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()) {
//使用next方式接收
String str = scanner.next();
System.out.println("输入的内容为:"+str);
}
//凡是属于IO类用完要关掉
scanner.close();
}
/*输出结果
使用next方式接收:
hello world
输入的内容为:hello
*/
- nextLine()
- 以Enter为结束符,nextLine()返回的是输入回车之前的所有字符
- 可以获得空白
public static void main(String[] args) {
//创建个扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
//判断是否还有输入
if(scanner.hasNextLine()) {
//使用nextLine方式接收**加粗样式**
String str = scanner.nextLine();
System.out.println("输入的内容为:"+str);
}
//凡是属于IO类用完要关掉
scanner.close();
}
/*输出结果
使用nextLine方式接收:
hello world
输入的内容为:hello world
*/