狂神课堂笔记

 

打开CMD的方式


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

  2. Win键+R 输入cmd 打开控制台 (推荐使用)

  3. 在任意文件夹下面,按住shift键+鼠标右键,选择在此处打开命令行窗口

  4. 资源管理器的地址栏前面加上cmd(空格)路径

管理员方式运行:选择以管理员方式运行

常用的Dos命令

1 #盘符切换 输入D:
2 #查看当前目录下得所有文件 输入dir
3 #切换目录 cd changge directory
4 #返回上一级 cd ..
5 #清屏 cls (clear screen 英文清理屏幕)
6 #退出终端 exit
7 #查看电脑ip ipconfig
8 #打开应用
        计算机 calc
        画图工具 mspaint
        记事本 notepad
9 #ping命令
     ping www.baidu.com
10#
  创建文件夹 md
  打开文件 cd
  创建文件 cd>a.txt
  删除文件 del a.txt
  移除目录 rd
 
 
 
     

JAVA特性和优势

  • 简单性

  • 面向对象

  • 可移植性

  • 高性能

  • 分布式

  • 动态性

  • 多线程

  • 安全性

  • 健壮性

JDK卸载

  1. 删除java的安装目录

  2. 删除环境变量里面的JAVA_HEOM

  3. 删除环境变量里面的path下关于java的目录

  4. 最后查看java_version

安装JDK

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

  2. 同意协议

  3. 下载电脑对应的版本

  4. 双击安装JDK

  5. 记住安装的路径

  6. 配置环境变量

    • 我的电脑---右键---属性

    • 环境变量---JAVA_HOMEimage-20210318195422667

    • 配置path变量image-20210318195709562

  7. 测试JDK是否安装成功

    • 打开cmd

    • JAVA -version

Notepad++

HelloWord

  1. 随便新建一个文件夹

  2. 新建一个java文件 - 文件后缀名为.java - 如helloword.java - 系统可能没有显示文件后缀,我们需要手动打开

    1. 编写代码

      public class Hello{
      public static void main(String[] rags){
      System.out.print("Hello,World");
      }
      }
  3. 编译javac java文件,会生成一个class文件

  4. 运行class文件,java class文件image-20210319154023734

可能会遇到的情况

  1. 每个单词的大小不能出现问题,java是大小写敏感词

  2. 尽量使用英文

  3. 文件名和类名必须保持一致

  4. 符号使用了中文

JAVA程序运行机制

  • 编译型

  • 解释型

直接生成开头

  1. psvm

  2. sout

注释

  • 单行注释://

  • 多行注释:/**/

  • 文档注释:/**

  • *内容

  • */

标识符

abstractassertbooleanbreakbyte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
reture strictfp short static super
switch synchronized this throw throws
transient try void volatile while

标识符注意点

image-20210327114152529

  1. 标识符大小写十分敏感

  2. 可以用中文,不建议使用

数据类型

强类型语言

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

image-20210328120944437

//八大基本数据类型

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

//小数:浮点数
float num5=50.1F;//float类型要在数字后面加个F,用于区分
double num6=3.1415926;

//字符
char name ='A';
//字符串,String不是关键字,是类
String namea ="秦疆";

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

image-20210328123227949

数据扩展

整数扩展

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

浮点数扩展

public class Demo05 {
   public static void main(String[] args) {
               //浮点数扩展     银行业务怎么表示?钱
       //BigDicimal     数学工具类

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

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

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

       float d1 =0101010101f;
       float d2 =d1+1;
       System.out.println(d1==d2);//ture
      }
}

字符扩展

public class Demo05 {
   public static void main(String[] args) {
           //字符扩展

       char c1='秦';
       char c2='疆';
       System.out.println(c1);
       System.out.println((int)c1);//强制转换

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

       //所有的字符本质还是数字
       //编码 Unicode 表:A=65 a=97   2个字节   65536   Excel   2 16=65536

       // U0000 UFFFF
       char c3 ='\u0061';
       System.out.println(c3);
          }
}

转义字符

public class Demo05 {
   public static void main(String[] args) {
               //转义字符
       // \t   制表符
       // \n   换行

       System.out.println("Hello\tWorld");//空格
       System.out.println("Hello\nWorld");//换行

     
       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);
       //对象 从内存分析
              }
}

布尔值扩展

public class Demo05 {
   public static void main(String[] args) {
       //布尔值扩展
      /* boolean flag=ture;
       if (flag=ture){}//新手程序员
             //相等
       if (flag){}//老手程序员*/
              }
}

类型转换

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

    低---------------------------------------------------------------------------------------------高

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

public class Demo05 {
    public static void main(String[] args) {
        int i =128;
        byte j =(byte)i;//=-128,内存溢出,高----低(强制转换)
        double x =i;//低----高(自动转换)
        //强制转换  (类型)变量名    高----低
        //自动转换                   低----高
        System.out.println(i);
        System.out.println(j);
        System.out.println(x);
        /*
        * 1.不能对布尔值进行转换
        * 2.不能把对象类型转化为不相干的类型
        * 3.把高容量转化为低容量时一定要“强制转换”
        * 4.转换时可能出现内存溢出,或者精度问题!
        *
        * */


        System.out.println("=======================================================================");
        System.out.println((int)24.5); //=24
        System.out.println((int)-45.95f); //=45


        System.out.println("=======================================================================");
        char c = 'a';
        int d = c+1;
        System.out.println(d);
        System.out.println((char)d);


    }
}

注意问题

 

public class Demo05 {
    public static void main(String[] args) {
        
         System.out.println("=======================================================================");
        //操作比较大的数的时候,注意溢出问题
        //JDK的新特性,数字之间可以用下划线分割
        int money =10_0000_0000;
        int year = 20;
        int total = money*year;//-1474836480,计算的时候溢出了
        long tota2 = money*year;//默认是int,转换之前已经出现问题
        long tota3 = money*((long)year);//20000000000
        System.out.println(tota3);

变量

  • 变量是什么:就是可以变化的量!

  • java是一种强类型语言,每个变量都必须声明其类型

  • java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域

    例: type varName [=value] [{,varName[=value]}] ;

    //数据类型 变量名 =值 ,可以用逗号隔开来声明多个同类型变量。(不推荐,杂乱)

    注意事项

    • 每个变量都有类型,类型可以是基本类型,也可以是应用类型。

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

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

变量作用域

  • 类变量

  • 实例变量

  • 局部变量

public class Demo07 {

    //属性:变量


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


    //实例变量:从属于对象;如果不自行初始化,这个类型的默认值
    String name;
    int age;



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

        //局部变量:必须声明和初始值  0,0.0,u0000
        //布尔值:默认是false
        //除了基本类型,其余的默认值都是null;
        int i = 10;
        System.out.println(i);

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


        //类变量:static
        System.out.println(salary);
    }
    //其他方法
    public void add(){

    }
}

常量

  • 常量(Constant ):初始化(initialize)后不能再改变值!不会变动的值。

  • 所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

       final 常量名=值;
       final double Pi=3.14;
  • 常量名一般使用大写字符。

变量的命名规范

  • 所有变量,方法,类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:除第一个单词以外,后面的单词首字母大写,monthSalary

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE,建议全部使用大写,如果中间字母比较多用下划线隔开

  • 类名:首字母大写和驼峰原则:Man,GoodMan

  • 方法名:首字母小写和驼峰原则:run(),runRun()

运算符

  • java语言支持的运算符

    • 算数运算符:+,-,*,/,%,++,--

    • 赋值运算符:=

    • 关系运算符:>,<,>=,<=,==,!=instancenf

    • 逻辑运算符:&&,||,!(与,或,非)

    • 位运算符:&,|,^,~,>>,<<,<<<(了解!!!)

    • 条件运算符:?,:

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

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a =1212121212;
        int b = 123;
        short c = 10;
        byte d = 8;
        System.out.println(a+b+c+d);//long    运算时有一个数是long类型,运算结果也是long
        System.out.println(b+c+d);//int       运算时是有int,short,byte,char类型运算结果是int
        System.out.println((double) c+ d);//double       运算时有一个数是double类型,运算结果也是double (转换:cast)
    }
}

一元运算符

打开返回图标 : alt+enter

package operator;

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

        int b = a++;//执行这行代码后,先给b赋值,再自增
        //a = a + 1 ;
        System.out.println(a);
        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);

逻辑运算符

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)); //逻辑或运算: 两个变量有一个为真,则结果才为真,反之为假
        System.out.println("!(a&&b):"+!(a&&b)); //如果为真则变假,如果为假则变真

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

位运算

package operator;

//位运算
public class Demo06 {
    public static void main(String[] args) {
        /*
        * A = 0011 1100
        * B = 0000 1101
        *------------------
        * A&B = 0000 1100
        * A|B = 0011 1101
        * A^B = 0011 0001
        * ~B  = 1111 0010
        *
        * 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);
        System.out.println(3<<3>>2);
    }
}

字符串连接符

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);//10+20=30

        //字符串链接符  +  , String
        System.out.println(""+a+b);//两个数合并
        System.out.println(a+b+"");//两个数相加
    }
}

三元运算符

package operator;

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

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



posted @ 2021-04-10 12:34  小布托里  阅读(230)  评论(0)    收藏  举报