Day08 java基础部分全部笔记

base

Markdown学习

Typora

下载Typora后,新建一个txt,改后缀为.md 即可进入

标题

###+空格 为三级标题

几个#就是几级标题,最多为六级标题

数列

  1. (1.+空格)
  • (减号- 加空格)

字体

Hello,word 两个* 加粗

Hello,word 一个*斜体

Hello,word 三个*斜体加粗

Hello,word 两个~删除线

引用

hello,小胡 >

分割线


三个减号分割线


三个*分割线

图片

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VekXmhKc-1605684800231)(https://tse2-mm.cn.bing.net/th/id/OIP.i6VRdpMFXF8Jx-XqhsgKpAHaFj?pid=Api&rs=1)]

超链接

bilibili

表格

姓名性别年龄

代码

public
    

三个` +java

快捷键

windows+r运行
shift+Delete永久删除
windows+E打开我的电脑
ctrl+shift+Esc打开任务管理器
windows+Tab切换应用程序

打开CMD方式

  1. 开始+系统+命令提示符

  2. win+R 输入cdm

常用的DOS命令

#盘符切换 C:
#查看目录下的所有文件  C:dir
#切换目录 cd change directory
         cd/d f:
         cd/d E:\Typora  注意斜杠,\正斜杠跟目录
         cd..  返回上一级目录
         cd Typora 进入这个文件夹
#清理屏幕  cls  (clear screen 清洁屏幕)
#退出终端  exit
#查看电脑ip  ipconfig

#打开应用  
    cale计算器
    mapaint 画图工具
    notepad 记事本

#ping命令
  ping www.baidu.com   (看网页的ip)

#文件操作c
  创建  md  目录
  移除  rd  目录
  创建  cd> 文件名
  删除  del 文件名

删除JDK

  1. 删除java的安装目录
  2. 删除java_HOME
  3. 删除path下 关于java的目录
  4. 运行java-version

安装JDK

  1. 百度搜索jdk8,找到下载地址

  2. 同意协议

  3. 下载电脑对应的版本

  4. 双击安装JDK

  5. 记住安装的路径

  6. 配置环境变量

    1. 我的电脑–>右键–>属性
    2. 环境变量–>java_HOME
    3. 配置path变量
  7. 测试JDK是否安装成功

    1. 打开cmd

    2. java-version

HelloWord

  1. 随便新建一个文件夹,存放代码 code
  2. 新建一个java文件
    • 文件后缀名为.java
    • Hello.java
  3. 编写代码
public class Hello{
    public static void main(String[] args) {
	     System.out.println("Hello,World!");
	}
}
  1. 编译 javac Hello.java文件后,会生成一个class文件

  2. java Hello 运行class文件

    在这里插入图片描述

可能遇到的问题

  1. 每个单词的大小不能出现问题,java是大小写敏感的
  2. 尽量使用英文
  3. 文件名 和 类名必须保证一致,并且首字母大写
  4. 符号一定是英文

IDEA

  1. 创建类
  2. psvm
  3. sout

注释

书写注释是一个非常好的习惯,一定要写!

平时写代码一定要注意规范

  1. 单行注释 // (可以注释一行文字)

  2. 多行注释 (可以注释一段文字)

    /*

    我是多行注释

    我是多行注释

    我是多行注释

    我是多行注释

    */

  3. //JavaDoc:文档注释 /** */

关键字

在这里插入图片描述

标识符

  • 所有的标识符都应该以字母(大小写都可以),美元符($)、或者下划线(_)开始

  • 首字符之后可以是字母(大小写都可以),美元符($)、下划线(_)或数字的任何字符组合

  • 不能使用关键字作为变量名或方法名

  • 标识符是大小写敏感

  • 合法标识符举例: age、$salary、_value、__1_value

  • 非法标识符举例:123abc、-salary、#abc

    public class HelloWorld {
        public static void main(String[] args) {
            String 王者荣耀 = "最强王者";
            System.out.println(王者荣耀);
        }
    }
    
  • 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

数据类型 Demo02

强类型语言

  • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

弱类型语言

java的数据类型分为两大类

  • 基本类型(primitive type)
  • 引用类型(reference type)

在这里插入图片描述

public class Demo02 {
    public static void main(String[] args) {
    //八大基本数据类型

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

    //小数:浮点数
    float num5 = 50.1F;  //float类型要在数字后面加个F
    double num6 = 3.14159265358;

    //字符
    char name ='a';  //单引号!!!!
    //字符串,String不是关键字,是类
    //String namea = "兰琦";

    //布尔值:是非
    boolean flag = true;
    //boolean flag = false;

}
}




字节

  • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。

  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示

  • 1B=8bit

  • 字符:是值计算机中使用的字母、数字、字和符号

  • 1bit表示1位

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

  • 1024B=1KB

  • 1024KB=1M

  • 1024M=1G

  • 1024G=1TB

!!数据类型 Demo03

public class Demo03 {
    public static void main(String[] args) {
        //整数拓展:  二进制0b   十进制    八进制0   十六进制0x

        int i = 10;
        int i2 = 010;  //八进制0
        int i3 = 0x10;  //十六进制0x  (0~9 A~F)

        System.out.println(i);   //10
        System.out.println(i2);  //8
        System.out.println(i3);  //16
        System.out.println("=============================");
        //=================================================
        //浮点数拓展    银行业务怎表示?钱
        //Bigdecimal 数学工具类
        //=================================================

        //float  有限  离散  舍入误差  大约  接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较


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

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

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

        System.out.println(d1==d2); //true
        //=================================================
        //字符拓展
        //=================================================
        System.out.println("=============================");
        char c1 ='a';    //单引号!!!!
        char c2 ='中';   //单引号!!!!

        System.out.println(c1);  //a

        System.out.println((int)c1);//强制换行  //97

        System.out.println(c2);  //中

        System.out.println((int)c2);//强制换行  //20013

        //所有的字符本质还是数字

        //U0000 UFFFF

        char c3 = '\u0061';   
        System.out.println(c3);//a

        //转义字符
        //  \t  制表符
        //  \n   换行
        //  。。。。

        System.out.println("Hello\nworld");


        System.out.println("=============================");

        String sa = new String("hello world");
        String sb = new String("hello world");

        System.out.println(sa==sb); //false

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd); //true
        //对象 从内存

        //布尔值拓展
        boolean flag = true;
        if (flag==true){}   //新手
        if (flag){}         //老手
        //Less is More!  代码要精简易读

        }
    
}

类型转换 Demo04.05

  • 由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

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

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

  • 运算中,不同类型的数据先转化为同一类型,然后进行运算
public class Demo04 {
    public static void main(String[] args) {
        int i = 128;
        byte b =(byte)i;  //内存溢出

        //强制转换    (类型)变量名    高--低
        //自动转换     低--高

        System.out.println(i);  //128
        System.out.println(b);  //-128

        int x = 128;
        double z =x;   //自动转换

        System.out.println(x);  //128
        System.out.println(z);  //128.0


        /*
        注意点:
        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 c ='a';
        int  d = c+1;
        System.out.println(d); //98
        System.out.println((char)d);  //b

    }
}


public class Demo05 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割

        int money = 10_0000_0000;
        int years = 20;


        int total= money*years;                //-1474836480,计算的时候溢出了
        long total2 = money*years;            //默认是int,转换之前就已经存在问题了
        long total3 = money*((long)years);   //先把一个数转换为long

        System.out.println(total); //-1474836480
        System.out.println(total2);//-1474836480
        System.out.println(total3);//20000000000

    }
}

变量

  • 变量是什么:就是可以变化的量!
  • Java是一种强类型语言,每个变量都必须声明其类型。
  • Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。
public class Demo06 {
    public static void main(String[] args) {
        //int a,b,c;
        //int a=1,b=2,c=3;最好不要这要写  //程序可读性
        String name = "lanqi";
        char x = 'X';
        double pi = 3.14;
    }
}

  • 注意事项:
    1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    2. 变量名必须是合法的标识符。
    3. 变量声明是一条完整的语句,因此每一个声明都必须是以分号结束

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
public class Demo07 {
    static int allClicks=0; //类变量
    String str="hello world"; //实例变量

    public void method(){
        int i =0; //局部变量
    }
}

public class Demo08 {

    //类变量 static
    static double salary = 2500;

    //属性,变量

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


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

         //局部变量,必须声明和初始化值
         int i = 10;
         System.out.println(i);


         //变量类型  变量名字 = new Demo07();
         Demo08 demo08 = new Demo08();
         System.out.println(demo08.age);
         System.out.println(demo08.name);

         //类变量 static
         System.out.println(salary);


     }


     //其他方法
    public void add(){
        System.out.println();
    }
}

常量

  • 常量:初始化后不能再改变值!不会变动的值。
  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
  • 常量名一般使用大写字符
public class Demo09 {

    //修饰符,不存在先后顺序
    static final double PI = 3.14;

    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名,首字母小写和驼峰原则:run(),runRun()

operator

运算符

  • 算术运算符:+, -, *, /, %, ++, --,
  • 赋值运算符: =
  • 关系运算符: >, <, >=, <=, ==, !=instanceof
  • 逻辑运算符: &&, ||, !
  • 位运算符: &, |, ^, ~, >>, <<, >>>
  • 条件运算符 ? :
  • 扩展赋值运算符: +=, -=, *=, /=

算术运算符 二元运算符

package operator;

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

package operator;

public class Demo02 {
    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

        //如果运算有long 则结果为long类型  否则为int
        //如果运算有double 则结果为double
    }
}

关系运算符

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确 错误  布尔值
        // if

        int a = 10;
        int b = 20;
        int c = 21;

        //取余,模运算
        System.out.println(c%a);  //  c/a    21/10=2...1

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}

### ++ - - 自增,自减

package operator;

public class Demo04 {
    public static void main(String[] args) {
        // ++  --  自增,自减  一元运算符
        int a = 3;

        int b = a++;   //执行完这行代码后,先给b赋值,再自增
        //a++   a = a + 1
        System.out.println(a);  //4
        //a++   a = a + 1
        int c = ++a;//执行完这行代码前,先自增,再赋值

        System.out.println(a);  //5
        System.out.println(b);  //3
        System.out.println(c);  //5

        //幂运算  2^3  2*2*2=8  很多运算,我们会使用一些工具类操作
        double pow = Math.pow(2, 3);  //Alt+Enter
        System.out.println(pow);
    }
}

逻辑运算符

package operator;

//逻辑运算符
public class Demo05 {
    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);   //c<4是 false 所以后面的c++不执行
        System.out.println(d);
        System.out.println(c); //c=5
    }
}

位运算符

package operator;

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

      A&B = 0000 1100  与:只有1 1 才为1,否则都是0  只要有一个0,就是0
      A|B = 0011 1101  或:只有0 0 才为0,有1则为1
      A^B = 0011 0001  异或:相同为0 不相同为1
       ~B = 1111 0010  非:取反  0变为1,1变为0


       2*8 = 16   2*2*2*2
       位运算 效率极高!!!
       << 左移  *2
       >> 右移  /2

       0000  0000     0
       0000  0001     1
       0000  0010     2
       0000  0011     3
       0000  0100     4
       0000  1000     8
       0001  0000     16

         */

        System.out.println(2<<3);
    }
}

扩展赋值运算符

package operator;

public class Demo07 {
    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); //1020
        System.out.println(a+b+"");  //30
    }
}

条件运算符 三元运算符

package operator;

//三元运算符
public class Demo08 {
    public static void main(String[] args) {
        // x  ?  y  :  z
        //如果x==true,则结果为y,否则结果为z

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

    }


}

包机制

  • 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。

  • 包语句的语法格式为:

    package pkg1[.  pkg2[.  pkg3...]]
    
  • 一般利用公司域名倒置作为包名;百度 www.baidu.com 的包名为 com.baidu.www

  • 为了能够使用某一个包的成员,我们需要在java程序中明确导入该包。使用"import"语句可完成此功能

import package1[.package2...].(classname|*);
//导入这个包下所有的类
import com.hu.base.*;

JavaDoc

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

  • 参数信息

    • @author 作者名
    • @version 版本名
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况
package com.hu.base;

/**
 * @author huqianyi
 * @version 1.0
 * @since 1.8
 */

public class Doc {

    String name;

    /**
     *
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception {
        return name;
    }
    //老师是通过命令行 javadoc 参数 java文件

    //作业:学会使用IDEA生成JavaDoc文档!
}

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值