java
基础知识
作用域
-
类变量
-
实类变量
-
局部变量
public class Demo5 {
//属性:变量
//类变量:又称为静态变量 static修饰
static String num ;
//实类变量:从属于这个类,
/**
*
如果没有赋值,进行初始化
* 1、基本数据类型:
* 整数类型都是默认为0
* 浮点数默认为0.0
* 布尔类型默认为false
* 2、引用类型默认都是null;
*/
String name;
int age;
boolean flag;
//main方法 函数的入口
public static void main(String[] args) {
//局部变量:必须要声明和初始化值
int i =10;
System.out.println(i); //10
//实类变量:需要先创建类实例,然后利用类实例化创建实类变量
Demo5 demo5 = new Demo5();
System.out.println(demo5.name); // null
System.out.println(demo5.age); // 0
System.out.println(demo5.flag); //false
//类变量:不需要
System.out.println(num); //null
}
//其他方法
public void get(){
}
}
命名规则:
-
所有类、方法、变量:见名知意并遵守驼峰原则
-
类名、接口名: 首字母大写和驼峰原则 Object、Demo、Man
-
类成员变量名:首字母小写和驼峰原则 myName、myStudy
-
局部变量名:首字母小写和驼峰原则
-
常量名:都是大写和驼峰原则 且中间_分割 MAX_NUMBER
-
方法名:首字母小写和驼峰原则 allName() run()
运算符
优先级可以使用()使用
```java
算术运算符:+ 、- 、*、/、% 、++ 、--
赋值运算符:=
关系运算符:> ,<,==,>=,<= ,!=instanceof
逻辑运算符:&&,||,!
位运算符:&,^,|,~, >>,<<,>>>(了解)
条件运算符:? :
扩展赋值运算符+=, -=,*=,/=
```
逻辑运算符
(重点:短路与、短路或)
短路与 :如果前面是false,后面直接断开不再执行
短路或 :如果前面为true,后面直接断开不再执行
package operator;
//逻辑运算符
public class Demo2 {
public static void main(String[] args) {
//逻辑运算符 与(and)&& 或(or)|| 非(取反)!
boolean a = true;
boolean b = false;
System.out.println("a&&b:"+(a&&b)); //false
System.out.println("a||b:"+(a||b)); //true
System.out.println("!(a&&b):"+!(a&&b)); //true
//短路运算
int c = 10;
boolean d = (10<8)&&(c++<8);
//短路与 :如果前面是false,后面直接断开不再执行
System.out.println(c);
System.out.println(d);
System.out.println("++++++++++++++++++++++++++++++++++++++++++++");
//短路或 :如果前面为true,后面直接断开不再执行
boolean flag =(10>8)||(c++>8);
System.out.println(flag);
System.out.println(c);
}
}
一元运算符
(自增自减重点)
++ 、--
//一元运算符
public class Demo4 {
public static void main(String[] args) {
//一元运算符 ++ 自增 --自减
int a = 2;
int b = a++; //先赋值后自增
int c = ++a; //先自增后赋值
System.out.println(a); //4
System.out.println(b); //2
System.out.println(c); //4
// 幂运算符 2^3 2*2*2
int pow = (int)Math.pow(2,3);
System.out.println(pow);
//math中开平方
double sqrt = Math.sqrt(144); //开平方
System.out.println(sqrt);
}
}
二元运算符
package operator;
//二元运算符 + 、- 、*、/、%
public class Demo1 {
public static void main(String[] args) {
// 复制当前行到下一行,ctrl+D键
int a = 4;
int b = 5;
System.out.println(a+b); //9
System.out.println(a*b); //20
System.out.println(a-b); //-1
System.out.println(a/b); // 0 为啥等于0
//因为基本操作时候将数字自动转换为int类型
System.out.println("==========================================");
// 应该将其强制转换为double型
System.out.println(a/(double)b); // 0.8 为啥等于0
}
}
三元运算符(重点)
x ? y:z
如果x==true,则结果是y,否则结果是z
package operator;
//三元运算符,又称条件运算符
public class Demo7 {
public static void main(String[] args) {
// x ? y:z
// 如果x==true,则结果是y,否则结果是z
String name = "TraceChen";
String result1 = name.equals("TraceChen") ? "是本人":"不是本人"; //非常最要 必须要掌握
String result2 = name.equals("ZhangSan") ? "是本人":"不是本人"; //非常最要 必须要掌握
System.out.println(result1);
System.out.println(result2);
int age1 = 30;
int age2 = 31;
System.out.println(age1==age2?"年龄相等":"年龄不相等");
}
}
位运算
(左移右移重点)
最重要左移右移 (运算效率极高)
public class Demo5 {
public static void main(String[] args) {
// 位运算符:&,^,|,~, >>,<<,>>>(了解)
/**
* & 与运算
* ^ 异或运算
* | 非运算
* ~ 取反运算
* ---------------------------------
* 非常重要的点
* 2*8 = 16 运算最快的方式 左移
* 16/2 运算最快的方式 右移
* << 左移 *2
* >> 右移 /2
* >>>
* A 0011 0110
* B 1010 0110
*
*A&B=0010 0110 都为真则为真
*A^B=1001 0000 不相同为真
*A|B=1011 0110
* ~B=0101 1001
**/
// 0000 0001 1
// 0000 0010 2
// 0000 0100 4
// 0000 1000 8
// 0001 0000 16
// 0010 0000 32
// 0100 0000 64
// 最重要(效率极高)
System.out.println(10<<10); //左移n位 相当于*2^n
System.out.println(1000>>3); //右移n位 相当于/2^n
}
}
字符串 +
(前后字符串重点)
public class Demo6 {
public static void main(String[] args) {
//字符串连接 +
int a = 100;
int b = 200;
//两个数相加 前后有字符串表示什么意思?
System.out.println("String"+a+b); //字符串在前,后面连接成字符串
System.out.println(a+b+"String"); //字符串在后,前面相加连接字符串
}
}
包机制
包机制最重要的一句话:
域名倒着写:比如:www.cbb.com 包命名写成com.cbb.www
参考:疯狂说 https://www.bilibili.com/video/BV12J41137hu?from=search&seid=2278767050332516310