Java基础

Java基础

基本的DOS命令


#查看目录下的所有文件  dir
#切换目录            cd  (change directory) 进入内需要添加参数,比如/d  cd..返回上级目录
#清理屏幕  cls  (clear scree)
#退出终端  exit
#查看电脑ip    ipconfig
#打开应用
      calc
      mapaint
      notepad
#ping 命令
      ping www.baidu.com
#文件操作
      md 目录名
      rd 目录名
      cd> 文件名
      del 文件名
     

idea快捷键

#ctrl + D 复制当前行到下一行
#ALT + ENTER 自动识别缺少包类型

java的一些介绍


#jdk java development kit
#jre java runtime environment
#jvm java virtual machine

java新建


  1. 随便新建一个文件夹
  2. 新建一个java文件
    • 文件后缀名为.java
    • Hello.java
    • 如果系统没有打开我们需要手动打开
  3. 编写代码:
public class Hello{
	public static void main(String[] args){
		System.out.print("Hello World!");
	}
}

注意点:这个类的名字要和文件名相同

  1. 编译javac java文件,会生成一个class文件
  2. 运行class文件,java class

image-20211119153206502

插一个电脑自由截屏方法:win+shift+s,可以自由矩形截图到剪切板。win+w还可以进行编辑,同样可以保存。

可能出现的问题


  1. java大小写敏感的
  2. 尽量使用英文
  3. 文件名必须和类名保持一致

使用idea新建类


psvm 快速生成主函数
sout 快速生成输出

image-20211119160155875

Java注释


单行注释 //
多行注释 /**/
文档注释:java doc /**
                 *
                 */
java doc格式可以自己设置,在下图

image-20211119172606569

Java八大数据类型


//整数
byte num1 = 10;
int num2 = 20;//最常见
short num3 = 30;
long num4 = 40L;//Long类型要在数字后边加个L

//小数,浮点数
float num5 = 50.1F;
double num6 = 301415926545;

//字符
char name = 'A';

//布尔值
boolean flag = true;
//boolean flag = false;

整数拓展


//整数的拓展
public class Demo {
    public static void main(String[] args) {
        //整数的拓展  二进制0b  八进制0  十进制  十六进制0x
        int i = 10;
        int i2 = 010;//八进制0
        int i3 = 0x10;//十六进制0x

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
    }
}

运行结果:
    10
    8
    16

浮点数拓展


//浮点数拓展
public class Demo {
    public static void main(String[] args) {
        //浮点数拓展

        float f = 0.1f;
        double d = 1.0/10;

        System.out.println(f == d);//false

        float d1 = 26565145561561651f;
        float d2 = d1 +1 ;

        System.out.println(d1 == d2);//ture

    }
}

/*
运行结果:
    false
    true
*/

//解释:
//float  有限 离散 舍入误差 大约 接近但不等于
//最好完全不要使用浮点数进行比较
//银行业务表示 钱 
//BigDecimal 数学工具类

字符拓展


public class Demo {
    public static void main(String[] args) {
 //字符拓展
        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
        //U0000 UFFFF
        char c3 = '\u0061';
        
        //转义字符
        
        //所有的字符本质还是数字
        /**结果如下
         a
         97
         中
         20013
         a
         */
    }
}

布尔拓展


boolean flag = true;
if (flag == true){};
if (flag){};
//Less is More!

额外拓展


public class Demo {
    public static void main(String[] args) {
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa == sb);

        String sc = "hello,world";
        String sd = "hello,world";
        System.out.println(sc == sd);
    }
}
/*  输出结果:
    false
    true
 */
 //对象 内存分析

java类型转换


低---------------------------------------------------->高

byte,short,char->int->long->float->double

浮点型大于整型

public class Demo {
    public static void main(String[] args) {
        int i = 128;
        
        //强制类型转换 (类型)变量名  高-->低
        byte b = (byte)i;//内存溢出
        
       //自动转换 低-->高
        double d = i;
        
        System.out.println(i);
        System.out.println(b);
        System.out.println(d);
        
        //强制转换的时候要注意精度和内存溢出问题
        System.out.println((int)23.7);

        //char优先级低于int
        char c = 'a';
        int d = c + 1;//自动转换
        System.out.println(d);
        System.out.println((char)d);//强制转换
        
        //JDK7的新特性,数字可以用下划线分割
        int money = 10_000_0000;
        int years = 20;
        int total = money*years;//-1474836405,计算溢出
        long total_1 = money*years;//-1474836405,money和year类型都是int,默认都是int,转换之前已经存在问题了
        long total_2 = money*((long)years);//20000000000,先把一个数转换成long
        System.out.println(total);
        System.out.println(total_1);
        System.out.println(total_2);
        
        //程序中l与L,加在数字后边都可以表示long类型,但是小写的l与1相似,所以默认为大写的L
    }
}

/*
结果为:
128
-128
23
98
b
-1474836405
-1474836405
2000000000
*/

java变量、常量、作用域


变量

  1. 类变量:类变量 static 从属于类
  2. 实例变量:从属于对象;如果不进行初始化,这个类型的默认值为 0 0.0 u0000 false.除了基本类型,其他都是null
  3. 局部变量:必须声明和初始变化值,生命周期只存在于这个函数内
public class Demo {
    //类变量 static 
    static double salary = 2500;
    
    //实例变量:从属于对象;如果不进行初始化,这个类型的默认值为 0 0.0 u0000 false.除了基本类型,其他都是null
    String name;
    int age;
    
    
    //main方法
    public static void main(String[] args) {
        
        //局部变量:必须声明和初始变化值,生命周期只存在于这个函数内
        int i = 0 ;
        System.out.println(i);

        //自定义的变量类型(类名) 变量名字 = new Demo;
        Demo demo = new Demo();//相当于用Demo类型定义了一个demo,然后demo可以调用Demo里的东西
        System.out.println(demo.age);//这样调用,输出了0
        System.out.println(demo.name);//输出为null
        System.out.println(salary);

    }
        
    public void add(){
        return ;
    }
        
    
}

常量


public class Demo{
    
    //修饰符,不存在先后顺序,一半的常量,大写
    static final double PI = 3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量的命名规范


  1. 所有变量、方法、类名:见名起意
  2. 类成员变量:首字母小写和驼峰原则:monthSalary
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_WALUE
  5. 类名:首字母大写和驼峰原则:Man,GoodMan
  6. 方法名:首字母小写和驼峰原则:run(),runRun()

Java运算符


自加自减

public class Demo{

    public static void main(String[] args) {
        int a = 3;

        int b = a++;//执行完这行代码后,先给b赋值,a再自增
        //b赋完值就过,在这里a = a + 1;
        int c = ++a;//执行完这行代码前,先自增,再给c赋值
        //这一行,a先自增了,a = a + 1;然后再执行赋值给c
        System.out.println(a);//5
        System.out.println(b);//3
        System.out.println(c);//5
        
        //很多运算,会使用工具类来下
        double pow = Math.pow(3, 2);
        System.out.println(pow);//9.0
    }
}

位运算


public class Demo{

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

         A&B = 0000 1100 全为1才为1
         A|B = 0011 1101 有1就为1
         A^B = 0011 1101 全为0才为0
         ~B = 1111 0010 取反

         2*8 = 2*2*2*2
         System.out.println(2 << 3);
         位运算,效率极高!
         << *2
         >> /2
         */
        System.out.println(2 << 3);//16
    }
}

条件运算符


public class Demo{

    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        //字符串连接 +旁边有字符串,会按照字符串进行拼接
        System.out.println("" + a + b);//1020,转换成了字符串进行拼接
        System.out.println(a + b + "");//30,先进行了运算

        
        //三元运算符
        //x ? y : z
        //如果x == true,则结果为y,否则为z

        int score = 80;
        String type = score < 60 ? "不及格" : "及格";
        System.out.println(type);//及格
    }
}

包的导入


import com.juana.xxx.包名.*;//会把这个包下所有文件导入,需要注意命名方式不能重合

《阿里巴巴Java开发手册v1.2.0.pdf》下载地址

JavaDoc


  1. javadoc命令是用来生成自己的API文档的

  2. 参数信息

    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况
  3. 命令行生成javadoc文档:

    • 命令行进入类目录,执行

    • //javadoc 参数 文件名
      javadoc -encoding UTF-8 -charset UTF-8 文件名
      //         编码            字符集编码
      //中文有时候会乱码
      
  4. idea里生成javadoc

    • Tools->Generate JavaDoc

    • image-20211120111245749

    • 参数说明:

      1. Whole project>>整个项目都生成 。
      2. Custom scope>>自定义范围,如下:project files 项目文件,project production files 项目产品文件,project test files 项目的测试文件, 未知范围,class hierarchy 类层
      3. include test source 包含测试目录
      4. include JDK and … 包含jdk和其他的第三方jar
      5. link to JDK documentation…链接到JDK api
      6. output directy 生成的文档存放的位置
      7. private、package、protected、public 生成文档的级别(类和方法)
      8. 右边的Generate…是选择生成的文档包含的内容,层级树、导航、索引..
      9. 再右边是生成的文档包含的内容信息,作者版本等信息
      10. Locale 语言类型,zh-CN
      11. Other command line arguments 其他参数
      12. Maximum heep… 最大堆栈

      转载:Intellij IDEA生成JavaDoc

posted @ 2021-11-20 12:18  Juana123  阅读(94)  评论(0)    收藏  举报