JavaSE-变量、常量、运算符、包机制和JavaDoc命令
变量
-
变量就是可以变量的量
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包含变量名,变量类型和作用域
-
Java变量可分为类变量、实例变量和局部变量
注意事项:
1,每个变量都有类型,类型可以是最基本类型,也可以是引用类型
2,变量名必须是合法的标识符
3,变量声明是一条完整的语句,因此每一个声明都必须以分号结束
-
变量的命名规范
1,所有变量、方法、类名需要见名知意
2,类成员变量:首字母小写和驼峰原则:monthSalary、workTime 除了第一个单词以外,后面的单词首字母大写
3,局部变量:首字母小写和驼峰原则
4,常量:大写字母和下划线:MAX_VALUE
5,类名:首字母大写和驼峰原则:Man,People
6,方法名:首字母小写和驼峰原则:add(),addMoney()
- 代码演示1
public class Demo4 {
//static 修饰是为类变量
static boolean bn;
static byte bt;
static char ch;
static short st;
static int it;
static long lg;
static float ft;
static double de;
static String str;
public static void main(String[] args) {
//1,变量的声明方式
//int a,b,c;
//int d=1,e=2,f=3;
//以上这两种实际的项目开发中别用,程序可读性比较差
//正常一个变量一个变量的进行声明
String str1 = "fateZero";
int a = 11;
double b = 9.0;
System.out.println("str1 = "+str1);
System.out.println("a = "+a);
System.out.println("b = "+b);
System.out.println("===============================================================");
//2,可以看看不同类型变量的默认值都是什么
System.out.println("bn="+bn);//false
System.out.println("bt="+bt);//0
System.out.println("ch="+ch+"ch");// ch=ch
System.out.println("st="+st);//0
System.out.println("it="+it);//0
System.out.println("lg="+lg);//0
System.out.println("ft="+ft);//0.0
System.out.println("de="+de);//0.0
System.out.println("str="+str);//null
}
}
- 打印结果2
- 代码演示2
public class Demo6 {
//属性:变量
//实例变量:从属于对象,可以不进行数据初始化
String name = "fate";
int age = 60;
//类变量 用static进行修饰,可以不进行数据初始化
static double salary = 2590.0;
static int workTime;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10;
//局部变量打印
System.out.println("i = "+i);//10
//实例变量打印,需要进行对象声明
Demo6 demo6 = new Demo6();
System.out.println("name = "+demo6.name);//fate
System.out.println("age = "+demo6.age);//60
//类变量打印
System.out.println("salary = "+salary);//2590.0
System.out.println("workTime = "+workTime);//打印默认值 0
}
}
- 代码结果2
常量
- 常量(Constant):初始化后就不能在改变值,不能进行变化的量
- 所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行中就不允许被改变
- 常量一般使用大写字符
- 代码演示3
public class Demo5 {
//常量前加个final关键字进行修饰
//而且static final这两个修饰符的位置可以互换
static final double PI = 3.14;
final static double RATE = 4.01;
public static void main(String[] args) {
System.out.println("PI = "+PI);
System.out.println("RATE = "+RATE);
}
}
- 代码运行结果3
- 注意事项:不能给常量进行赋值,会报错
运算符
- Java语言支持如下运算符
算术运算符:+,-,/,%,++,–
赋值运算符:=,+=,-=,*=,/=
关系运算符:>,<,>=,<=,==,!=,instanceof
逻辑运算符:&&,||,|
位运算符:&,|,^,~,>>,<<,>>>
条件运算符:? :
- 代码演示4
public class Demo7 {
public static void main(String[] args) {
//二元运算符
int a = 10;
int b= 20;
System.out.println(a+b);//加 30
System.out.println(a-b);//减 -10
System.out.println(a*b);//乘 200
System.out.println(a/b);//除 0 (0.5 保留整数得 0)
System.out.println(a%b);//求余 10 (0 余 10)
System.out.println("====================================================================================");
//关系运算符 结果只有 true 和 false两种结果
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true
System.out.println(a>=b);//false
System.out.println(a<=b);//true
System.out.println("====================================================================================");
//一元运算符 ++ 自增 -- 自减
int c = 5;
int d = c++;//先给d赋值,再自增
//c = c + 1;
int e = 5;
int f = ++e;//先自增,再给f赋值
System.out.println("c="+c);//c=6
System.out.println("d="+d);//d=5
System.out.println("e="+e);//e=6
System.out.println("f="+f);//f=6
System.out.println("====================================================================================");
//幂运算 2^3 2*2*2 = 8
//Java中使用Math.pow()方法进行代替
double pow = Math.pow(2,3);
System.out.println("pow="+pow);//pow=8.0
System.out.println("====================================================================================");
//逻辑运算符 与(and) 或(or) 非(取反)
boolean b1 = true;
boolean b2 = false;
System.out.println("b1 && b2: "+(b1&&b2));//b1 && b2:false 逻辑"与"运算,两个变量都为真,结果才为true
System.out.println("b1 || b2: "+(b1||b2));//b1 || b2:true 逻辑"或"运算,两个变量只要有一个为真,结果就为true
System.out.println("!b1:"+!b1);//!b1:false 如果是真,则变为假,如果是假则变为真
System.out.println("====================================================================================");
//逻辑短路运算
int num = 5;
boolean b3 = (num<5)&&(num++>4);
int num2 = 6;
boolean b4 = (num2>5)||(num2++<4);
//因为&&存在逻辑短路,如果a&&b中,a为false,那b中的运算就不会进行,
//同理a||b中,a为真,那b中的运算就不会进行
System.out.println("b3="+b3);//b3=false
System.out.println("num="+num);//num=5
System.out.println("b4="+b4);//b3=true
System.out.println("num2="+num2);//num2=6
System.out.println("====================================================================================");
//位运算(运算是非常滴快)
/*
A = 0011 1100
B = 0000 1101
----------------------------------------------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
<< 左移
>> 右移
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
*/
System.out.println(2<<3);//结果:16 2左移三位 0000 0010 -> 0001 0000 16
//赋值运算符
int num5 = 5;
int num6 = 6;
num5+=num6;// num5 = num5 + num6
System.out.println("num5="+num5);//11
num5-=num6;// num5 = num5 - num6;
System.out.println("num5="+num5);//5
System.out.println("====================================================================================");
//字符串连接
//下面两个输出结果一个是56,一个是11,这个就涉及到运算的优先顺序的问题,
// 在实际的开发中不要纠结于运算符优先级,可以加上括号表示先运算
System.out.println(""+num5+num6);//56
System.out.println(num5+num6+"");//11
System.out.println("====================================================================================");
//三元运算符 x ? y : z
//如果 x 为真,则结果为y,或者为z
int score = 80;
String type = score < 60 ? "不及格":"及格";
System.out.println("type = "+type);//及格
}
}
- 代码运结果4
包机制
- Java使用包机制来更好的管理类
- 包名本质就是文件夹
- 一般利用公司的域名倒置来作为包名:www.baidu.com -> 包名层级 com.baidu.xxx
- 为了能够使用某一个包的成员,我们需要在Java程序中导入该包,使用"import"语句来完成此功能
- 代码演示
package com.fate.operater;
//表示引入base包下的所有类
import com.fate.base.*;
//表示引入base包下的具体的某个类
import com.fate.base.Demo1;
public class Demo2 {
public static void main(String[] args) {
}
}
JavaDoc
- Java使用JavaDoc命令来生成自己的API文档
参数信息:
@auther 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况