第二天 Java基础
Posted 青蛉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二天 Java基础相关的知识,希望对你有一定的参考价值。
第二天 JAVA基础
变量
在程序运行中值可以变化的量;
类型 变量名;
变量的作用域
package com.zhang.Base;
// Demo05类名
public class Demo05 {
/*
* 变量按照作用域来分有三种:
* 类变量 实例变量 局部变量
* */
//类变量 static
static double salary = 3000; //整个类中可使用
static String name = "Jinx";
/*=======================================================*/
//实例变量
/*除了局部变量初始化时必须赋值,类变量和实例变量不初始化值会使用默认值
* 实型变量 0
* 浮点型变量 0.0
* 布尔型 false
* 字符型实际上也是数字 /u0000 0
* 字符串是引用类型变量,不是基础变量,除了基础变量,其他默认值都是”null“*/
char gender = \'男\';
String address;// = "秀川";
// main 方法名
public static void main(String[] args) {
System.out.println(salary);//类变量
System.out.println(name);
name = "Yi"; //重新给类变量赋值
System.out.println(name);
System.out.println("========================================");
/*===============================================================================================*/
Demo05 d5 = new Demo05();// 实例变量
System.out.println(d5.address);
System.out.println(d5.gender);
System.out.println("========================================");
/*=======================================================*/
int i = 5; //局部变量 只能在此方法中使用
System.out.println(i);
}
// 方法名add
public static void add(){
// System.out.println(i); 不能使用
}
}
常量
常量可以理解为特殊的变量,在程序运行过程中值不可变
final 类型 常量名;
package com.zhang.Base;
public class Demo06 {
//常量:初始化之后不能再改变值
//常量名一般用大写
final double PI = 3.1415926;
// 修饰符前后顺序可变
final static long NUM = 12345678910L;
static final float G = 9.8F;
public static void main(String[] args) {
Demo06 d6 = new Demo06();
System.out.println(d6.PI);
System.out.println(G);
System.out.println(NUM);
}
}
强制类型转换
运算中,不同类型的数据先转换为同一类型,再运算。
小数优先级高于整数
注意:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 转换的时候可能会存在内存溢出或者精度问题
- 操作大数的时候注意精度问题
package com.zhang.Base;
public class Demo03 {
public static void main(String[] args) {
//强制类型转换 高--->低
int i = 128;
byte i2 = (byte)i; // 强制转换 (类型)变量名
System.out.println(i);
System.out.println(i2);
System.out.println("================================");
//自动类型转换 低--->高
char c = \'A\';
int b = c+1; //自动转换
System.out.println(b);
System.out.println((char) b); //强制转换
}
}
package com.zhang.Base;
public class Demo04 {
public static void main(String[] args) {
//jdk7新特性 数字之间可以加入“_”
int money = 100_000_000_0;
int year = 20;
int total = money*year; //内存溢出
long total2 = money*year;
/*先以本身的int类型计算,然后把值赋给total2,
*计算的时候已经溢出了,在赋值之前就已经有问题了*/
long total3 = (long)money*year;
/*在计算的时候就强制类型转换,可以解决此问题
*运算中,不同类型的数据先转换为同一类型,再运算。*/
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}
运算符
package com.zhang.Operator;
public class Demo01 {
public static void main(String[] args) {
int i=10;
byte i2=15;
short i3=20;
long i4=50L;
System.out.println(i+i2+i3+i4);//计算机结果为long型
System.out.println(i+i2+i3);//int型 只要有lang为long型,无lang都为int型。
System.out.println(i+i2);//int型 浮点数优先级更高
System.out.println("========================================");
//=========================================
int a = 5;
int b,c;
b=a++; //使用之后自增一
System.out.println(a);
c=++a;//使用之前自增一
System.out.println(b);
System.out.println(c);
//幂运算 Math类
double m = Math.pow(2,4);
System.out.println(m);
System.out.println(a>m);
System.out.println(a==c);
}
}
三目运算符
package com.zhang.Operator;
public class Demo02 {
public static void main(String[] args) {
System.out.println(2<<3);//位运算
int score = 60;
String type=score>=60?"及格":"不及格";//三元运算符
System.out.println(type);
}
}
包机制
包的本质就是文件夹
package com.zhang.pkg; // 必须写在第一行
// 导入一个包
import java.util.Date;
//可以使用通配符
import com.zhang.Operator.*;
public class Pkg {
public static void main(String[] args) {
// Date
}
}
JavaDoc
写在类上面就是类注释,写在方法上面就是方法的注释
package com.zhang.Base;
/**
* @author zhang
* @version v1.0
* @since jdk-1.8
*/
public class JDoc {
String name; //属性
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
用IDEA生成JavaDoc
用命令行生成JavaDoc
报错
java: 错误: 无效的源发行版:16
两处JDK版本不一致
以上是关于第二天 Java基础的主要内容,如果未能解决你的问题,请参考以下文章