Java基础

Java基础

Idea

快捷键

Ctrl+Z:撤销
Ctrl+Shift+Z:重做
Ctrl+X:剪贴
Ctrl+C:复制
Ctrl+V:粘贴
Ctrl+Y:删除当前行
Ctrl+D:复制当前行
Ctrl+Shift+J:将选中的行合并成一行
Ctrl+N:查找类文件
Ctrl+Shift+N:查找文件
Ctrl+G:定位到文件某一行
Alt+向左箭头:返回上次光标位置
Alt+向右箭头:返回至后一次光标位置
Ctrl+Shift+Backspace:返回上次编辑位置
Ctrl+Shift+反斜杠:返回后一次编辑位置
Ctrl+B:定位至变量定义的位置
Ctrl+Alt+B:定位至选中类或者方法的具体实现
Ctrl+Shift+B:直接定位至光标所在变量的类型定义
Ctrl+U:直接定位至当前方法override或者implements的方法定义处
Ctrl+F12:显示当前文件的文件结构
Ctrl+Alt+F12:显示当前文件的路径,并可以方便的将相关父路径打开
Ctrl+H:显示当前类的继承层次
Ctrl+Shift+H:显示当前方法的继承层次
Ctrl+Alt+H:显示当前方法的调用层次
F2:定位至下一个错误处
Shift+F2:定位至前一个错误处
Ctrl+Alt+向上箭头:查找前一个变量共现的地方
Ctrl+Alt+向下箭头:查找下一个变量共现的地方
Ctrl+=:展开代码
Ctrl±:收缩代码
Ctrl+Alt+=:递归展开代码
Ctrl+Alt±:递归收缩代码
Ctrl+Shift+=:展开所有代码
Ctrl+Shift±:收缩所有代码

代码快捷键

psvm=public static void main(String[] args)

sout=System.out.println();

Ctrl+D:复制当前到下一行
Alt+insert 创建方法
Ctrl+H 查看类关系
Ctrl+Alt+T 创建类

注释

单行注释 //

  //输出一个hellowrold!

多行注释

        /*1111111111111
        1111111111111
        1111111111111
        1111111111111
        1111111111111*/

文档注释

 //javaDoc:文档注释  /** */
        /**
        * @Description HelloWorld
         * @Author Split
          */

## 标识符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MdiW9dAx-1635669757026)(D:\我的文档\桌面\Markdown\基本标识符.jpeg)]

所有的标识符都应该以字母(A-Z或者a-z),美元符号$,或者下划线(_)开始

首字符之后可以是字母(A-Z或者a-z),美元符号$,或者下划线(_)任何字符的组合

不能使用关键字或者变量名

大小写敏感

public class Demo01 {
public static void main(String[] args) {
String Ahello=“Split”;
String ahello=“Split”;
String 永劫无间=“陨星”;
System.out.println(永劫无间);
}
}


## 数据类型

所有变量都必须先定义后才能使用

### 字节

1bit表示一位

1Byte 表示一个字节 1B=8b

1024B=1KB

1024KB=1M

1024M=1G

1024G=1T

### 基本类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dXXflzkj-1635669757030)(D:\我的文档\桌面\Markdown\基本数据类型.jpg)]

public class Demon02 {
public static void main(String[] args) {
//八大数据类型
//整数
int num1=10;//最常用
byte num2=20;
short num3=40;
long num4=30l;// long类型要在数字后面加l
//小数
float num5 = 50.1f;// float类型要在数字后加f
double num6=3.1415926;
//字符
char name=‘何’;
//字母串,String不是关键字,是类
String namea = “Split”;
//布尔值
boolean flag= false;
//boolean flag=true;
}
}


### 类型拓展

import java.math.BigDecimal;

public class Demon03 {
public static void main(String[] args) {
//整数拓展 进制 二进制(0b) 十进制 八进制(0) 十六进制(0x)
int i=10;
int i1=010;
int i2=0x10;
int i3=0b10;
System.out.println(i2);
System.out.println("------------------------------------------------------");
//BigDecimal 数学工具类
//---------------------------------------------------------------------------
//浮点数拓展
//float 有限,离散 含入误差 大约 接近但不等于
//double
float f=0.1f;
double d=1.0/10;
System.out.println(fd);
float d1 =231313131313131313f;
float d2 =d1+1;
System.out.println(d1
d2);
System.out.println("------------------------------------------------------");
//---------------------------------------------------------------------------
//字符拓展
char c1=‘a’;
char c2=‘中’;
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有的字符本质还是数字
//编码 Unicode 表:(97=a 65=A) 2字节 0-65536 Excel 2`16=65526
// U0000 UFFFF
char c3=’\u0061’;
System.out.println(c3); //a

    //转义字符
    // \t  制表符
    // \n  换行
    // ......
    System.out.println("HEllo\twrold");
    System.out.println("HEllo\nwrold");
    System.out.println("------------------------------------------------------");
    String sa= new String("hello wrold");
    String sb= new String("hello wrold");
    System.out.println(sa==sb);

    String sc="hello wrold";
    String sd="hello wrold";
    System.out.println(sc==sd);

    //对象 从内存分析
    //布尔值扩展
    boolean flag=true;
    if(flag==true){}  //新手
    if(flag){}  //老手
}

}


### 引用类型

### 类型转换

public class Demon05 {
public static void main(String[] args) {
int i= 128;
byte b=(byte) i; //内容溢出

    // 强制转换 (类型)变量名 高到低
    System.out.println(i);
    System.out.println(b);

    // 自动转换 (类型)变量名 低到高
    int c=128;
    double d=c;
    System.out.println(c);
    System.out.println(d);
    /*注意点
    1.不能将布尔类型进行转换
    2.不能把对象类型转换成不相干的
    3.把高容量的转换为低容量的时候,强制转换
    4.转换的时候可能存在内容溢出,或者精度的问题
   */
    System.out.println("-----------------------------------------------------");
    System.out.println((int)23.7);  //23
    System.out.println((int)-45.89f);  //-45
    System.out.println("-----------------------------------------------------");
    char e='a';
    int g=e+1;
    System.out.println(g);
    System.out.println((char)g);
}

}


#### 转换溢出

public class Demon06 {
public static void main(String[] args) {
//操作比较大的数时,注意溢出问题
//jdk7新特性 数字之间用下划线分割
int money=10_0000_0000;
int years=20;
int total =moneyyears;//计算时已经溢出
long total1 =money
years; //默认是int,转换之前已经存在问题
long total3= money*(long)years;
System.out.println(total3);
System.out.println(money);
System.out.println(total); //计算是溢出
}
}




## 进制

public class Demon03 {
public static void main(String[] args) {
//整数拓展 进制 二进制(0b) 十进制 八进制(0) 十六进制(0x)
int i=10;
int i1=010;
int i2=0x10;
int i3=0b10;
System.out.println(i2);
}
}


## 变量

- 每个变量都有类型,类型可以是基本类型,也可以是引用类型

- 变量名必须是合法的标识符

- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

public class Demon07 {
public static void main(String[] args) {
//int a,b,c;
//int a=1,b=2,c=3; //程序可读性
String name =“Spilt”;
char x=‘X’;
double p1=3.14;
}
}




### 变量作用域

#### 类变量

#### 实例变量

#### 局部变量

public class Demon08 { //类
//类变量 static
static double salary=2500;

        // 属性,变量
        //实例变量:从属于对象,如果不自行初始化,这个类型的默认值 0 0.0
        //布尔值,默认是false
        //除了基本类型,其余的默认值都是null
String name;
int age;

      //main方法
public static void main(String[] args) {

    //局部变量  在方法里面  必须声明和初始化值
    int i=10;


    //变量类型 变量名字=new Demon08();
    Demon08 demon08=new Demon08();
    System.out.println(demon08.age);
    System.out.println(demon08.name);
    //类变量 static
    System.out.println(salary);
}


//其他方法
public void add(){}

}


### 常量

public class Demon09 {
//final 为修饰符,不存在先后顺序
static final double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}


### 变量的命名规范

- 所有变量,方法,类名,见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写。
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线 MAX_VALUE
- 类名:首字母大写和驼峰原则  Man,GoodMan
- 方法名:首字母小写和驼峰原则 run(),runRun()

## 运算符

算术运算符:+, -, *, / ,%,++,--

赋值运算符:=

关系运算符 :>, < , >= ,<= , ==,  !=  instanceof

逻辑运算符:&&,||,!

位运算符:&, |, ^,   ~ , >>  ,  << , >>>

条件运算符: ?

拓展赋值运算符:+= , -=  ,*= ,  /=

package operator;

public class Demon01 {
public static void main(String[] args) {
// 二元运算符
//Ctrl+D:复制当前到下一行
int a=10;
int b=10;
int c=10;
int d=10;

    System.out.println(a+b);
    System.out.println(a-b);
    System.out.println(a*b);
    System.out.println(a/(double)b);
}

}


package operator;

public class Demon02 {
public static void main(String[] args) {
long a=12121211121212l;
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
}
}


package operator;

public class Demon03 {
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);
}
}


package operator;

public class Demon04 {
public static void main(String[] args) {
// ++ – 自增,自减 一元运算符
int a=3;
int b=a++; //执行代码之后,先给b赋值,再自增
//a++ a=a+1

    //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(2,3);
    System.out.println(pow);
}

}


package operator;

public class Demon05 {
public static void main(String[] args) {
//逻辑运算符
// 与 (and) 或 (or) 非 (取反)
boolean a=true;
boolean b=false;

    System.out.println("a && b:"+(a&&b));   //逻辑与运算,两个变量为真,结果为真
    System.out.println("a || b"+(a||b));    //逻辑或运算,两个变量有一个为真,结果为真
    System.out.println("!(a&&b)"+!(a&&b));  //如果是真,则变为假,如果是假,则变为真

    //短路运算
    int c=5;
    boolean d=(c<4)&&(c++<4);
    System.out.println(d);
    System.out.println(c);
}

}


package operator;

public class Demon06 {
public static void main(String[] args) {
/*
A=0011 1100
B=0000 1101

    A&B  0000 1100
    A|B  0011 1101
    ~B   1111 0010
    A^B  0011 0001

    2*8=2*2*2*2
    << 数字乘2  >>数字除2
    0000 0001  1
    0000 0010  2
    0000 0011  3
    0000 0100  4
    0000 0101  5
     */
    System.out.println(2<<3);
}

}


package operator;

public class Demon07 {
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);
    System.out.println(a+b+"");

}

}


package operator;

public class Demon08 {
public static void main(String[] args) {
// x ? y 😒
//如果x的值为true ,则结果为y,否则为z
int score =50;
String type=score<60?“不及格”:“及格”;
System.out.println(type);
}
}


## 包机制

定义包 package

导入包 import



## javaDoc

```java
package com.split.base;

/**
 * @author split
 * @version 1.0
 * @since 1.8
 */
public class Doc {
    String name;

    /**
     * @author split
     * @param name
     * @return
     * @throws Exception
     */
    public String text(String name) throws Exception{
        return name;
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hwnS4d40-1635669757032)(D:\我的文档\我的图片\Screenshots\屏幕截图(2)].png)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FrHsvvL6-1635669757035)(D:\我的文档\我的图片\Screenshots\屏幕截图(4)].png)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值