Java基础(二)
5.变量
1.变量是什么
- 就是可以变化的量!
- Java是一种强类型语言,每个变量都碧玺声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
public class Dome07 {
public static void main(String[] args) {
//int a,b,c;
//int a=1,b=2,c=3; 程序可读性
String name = "qinjiang";
char x = 'X';
double pi = 3.14;
}
}
注意事项
- 每个变量都有类型,类型可以是基本类型也可以是引用类型
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
2.变量作用域
- 类变量 static
- 实例变量
- 局部变量 :在方法中
public class Dome08 {
//类变量 static
static double salary =2500;
//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是null;
String name;
int age;
//main 方法
public static void main(String[] args) {
//局部变量;必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Dome08();
Dome08 dome08 = new Dome08();
System.out.println(dome08.age);
System.out.println(dome08.name);
//类变量 static
System.out.println(salary);
}
//其它方法
public void add(){
}
}
3.常量
-
常量:初始化后就不能再改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,它的值一旦被设定,在程序运行过程中就不允许被改变。
- 常量名一般使用大写字符
4.变量的命名规范
6.运算符
- 算数运算符:+,-,*,/ , % , ++ , --
- 赋值运算符=
- 关系运算符:> , < , >= , <= , == , != , instanceof
- 逻辑运算符: && , || , !
- 位运算符:& , | , ^ , ~ , >> , << , >>>(了解)
- 条件运算符:? :
- 扩展赋值运算符:+= , -= , *= , /=
1.二元运算符
package operator;
public class Dome01 {
public static void main(String[] args) {
//二元运算符
// Ctrl+D : 复制当前行到下一行
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);//0.5
}
}
30
-10
200
0.5
2.运算时的数据类型(详见第4节)
public class Dome02 {
public static void main(String[] args) {
long a = 123123123123L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d);//long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
}
}
3.关系运算符
package operator;
public class Dome03 {
public static void main(String[] args) {
//关系运算符返回的结果:正确 ,错误 布尔值
int a = 10;
int b = 20;
int c = 21;
//取余 模运算
System.out.println(c%a);
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
}
}
1
false
true
false
true
4.自增和自减
package operator;
public class Dome04 {
public static void main(String[] args) {
//++ -- 自增 自减
int a = 3;
int b = a++;//执行完这行代码后,先给b赋值,再自增
//a = a + 1;
System.out.println(a);
//a++ a = a + 1;
int c = ++a;//执行完这行代码后,先自增,再给b赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算2^3 2*2*2 = 8 很多运算,我们会使用一些工具类来操作
double pow = Math.pow(3, 2);
System.out.println(pow);
}
}
4
5
3
5
9.0
5.逻辑运算符
package operator;
//逻辑运算符
public class Dome05 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,结果才为true
System.out.println("!(a && b):"+!(a&&b));//如果是真。则变为家,如果是假则变为真
//短路运算
int c =5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
}
}
a && b:false
a || b:true
!(a && b):true
false
5
6.位运算符
package operator;
public class Dome06 {
public static void main(String[] args) {
/*
* A = 0011 1100
* B = 0000 1101
* -------------------------------
* A&B = 0000 1100
* A|B = 0011 1101
* A^B = 0011 0001 (异或:相同为0,不同为1)
* ~B = 1111 0010(取反)
*
* 2*8 = 16 2*2*2*2
* 效率极高!!!
* << *2
* >> /2
* */
}
}
7.扩展赋值运算符
package operator;
public class Dome07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b;//a = a + b
a-=b;//a = a - b
System.out.println(a);
//字符串连接符 + ,String
System.out.println(""+a+b);
System.out.println(a+b+"");
}
}
10
1020
30
8.三元运算符
package operator;
//三元运算符
public class Dome08 {
public static void main(String[] args) {
//x ? y : z
//如果x==true ,则结果为y,否则结果为z
int score = 50;
String type = score <60?"不及格":"及格";//必须掌握
//if
System.out.println(type);
}
}
7.包机制
- 用于区别类名的命名空间。
- 语法格式为:package pkg1[.pkg2[.pkg3...]];(必须放在代码的最上面)
- 一般利用公司域名倒置作为包名;例如:com.yehuan.www
- 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可以完成。
import package1[.package2...].(classname|);----->这个*就是导入包下所有的类
8.JavaDoc
- Javadoc命令是用来生成自己API文档的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理