学习笔记-01Java基础

01 注释

注:书写注释是一个非常好的习惯

分类:

  1. 单行注释://

  2. 多行注释:

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

    /**
     *@1
     */
    

02 标识符和关键字

标识符:Java所有组成部分都需要名字。类名、变量名以及方法名都被成为标识符。

标识符注意点:

  • 所有标识符以字母,美元符号$,下划线_开始;
  • 首字符之后以字符,美元符号$,下划线_,数字的任何字符租成;
  • 不能使用关键字作为变量名或方法名;
  • 标识符是大小写敏感的;
  • 可以使用中文命名,但一般不建议这样使用,也不建议使用拼音,low;

关键字
在这里插入图片描述

03 数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用;(Java)

弱类型语言

Java数据类型分类:

在这里插入图片描述

//八大数据类型

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

//小数
float num5=3.162F;//float类型要在数字后面加个F
double num6=3.141596;

//字符类型
char num7='1';//字符类型里只能由一个字符
//字符串不是关键字 ,是类
//String number ="字母";

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

04 数据类型拓展

public class Demo2 {
    public static void main(String[] args) {
        //01整数拓展:进制  二进制0b 十进制  八进制0 十六进制0x
        int i=10;
        int i2=010;
        int i3=0x10;//十六进制0x 0~9 A~F
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        //输出结果 10、8、16
        System.out.println("=====================================================");
        //========================================================================
        
        //02浮点数拓展: 银行业务怎么表示? BigDecimal大数类型 数学工具类
        //float 有限  舍入误差 大约接近但不等于
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        float f=0.1f;
        double f2=1.0/10;
        System.out.println(f==f2);//==表示判断前后者是否相同(true or false)   false
        System.out.println(f); //0.1
        System.out.println(f2); //0.1

        float d1=23232323232323f;
        float d2=d1+1;
        System.out.println(d1==d2);  //true
        System.out.println("=====================================================");
        //========================================================================
        
        //03字符拓展:
        char c1='s';
        char c2='中';
        System.out.println(c1);
        System.out.println(c2);
        System.out.println((int)c1);//强制转换 115
        System.out.println((int)c2);//强制转换 20013
        //所有的字符本质还是数字
        //编码 Unicode表(c1=115) 2字节 0-65536
        // U0000-UFFFF
       char c3='\u0115';
       System.out.println(c3);

        System.out.println("=====================================================");
        //========================================================================
        
        //04转义字符
        // \t制表符; \n 换行 ...
        System.out.println("hello\nworld");

        System.out.println("=====================================================");
        //========================================================================
        
        //05布尔值拓展
        boolean flag=true;
        //两种写法 判断
        if (flag==ture){}
        if (flag){}
        //if (flag==ture){}=  if (flag){};
        //if (flag){}默认等于true
    }
}

05类型转换

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

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

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

强制类型转换:高—>低:(类型)变量名

自动类型转换:低—>高

注意点:

  1. 不能对布尔值进行转换;

  2. 不能把对象类型转换为不相干的类型;

  3. 在高容量转换为低容量时需要强制转换;

  4. 转换时可能会存在内存溢出或精度问题;

    public class Demo3 {
        public static void main(String[] args) {
            char c='a';
            int d=c+1;
            System.out.println(d); //98 输出int类型
            // 强制转换 (类型)变量名
            System.out.println((char)d); //b  输出char类型
            System.out.println("===========================================================");
            int a=10;
            double b=a;
            // 自动类型转换
            System.out.println(b);
            System.out.println("===========================================================");
            //内存溢出(操作比较大的数字时,注意溢出问题)
            //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(total3);
            System.out.println("===========================================================");
            //精度问题
            System.out.println((int)42.71);//42
    
        }
    }
    

06变量、常量、作用域

变量

变量介绍
  • 变量:可以变化的量
  • Java是一种强类型语言,每个变量都必须声明其类型;
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
  • 数据类型 变量名=值;

注:

  • 每个变量都有类型,可以是基本类型或引用类型;
  • 变量名必须是合法的标识符;
  • 变量声明是一条完整语句,因此每一个声明都必须以分号结束;

在这里插入图片描述

变量作用域
  1. 类变量

  2. 实例变量

  3. 局部变量

    public class Demo4 {
        //实例变量:(从属于对象)
        //如果不进行初始化赋值,数值类型默认值为0,布尔值默认值为false,引用类型默认值为null;
        String name;
        int age;
        //---------------------------------------------------------------------------
        //类变量:static(从属于类)
        static double salary=2500;
    
        //main方法
        public static void main(String[] args) {
            //局部变量:必须声明和初始化值(在方法内,从属于对应的方法,只在此方法内使用有效)
            int a=10;
            System.out.println(a);
    
            //实例变量:变量类型 变量名字=自己(把自己拿到)
            Demo4 Demo4=new Demo4();
            System.out.println(Demo4.age);
    
            //类变量:static
            System.out.println(salary);
    
        }
        //其他方法
        public void add(){
            
        }
    }
    
变量命名规范
  • 所有变量、方法、类名:见名知意
  • 类变量、局部变量:首字母小写和驼峰原则:monthSalary
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(); runRun()

常量

  • 常量(constant):初始化后不能改变;

  • 可理解为特殊的变量;

  • 常量名一般使用大写字符;

  • 常量:final 常量名=值
    
public class Demo5 {
    //修饰符不存在先后顺序:static,final
    //常量:final 常量名=值
    static final double PI=3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

07基本运算符

在这里插入图片描述

  • 赋值运算符:a=10(把10赋值给a)
  • 关系运算符:==等于
  • 逻辑运算符:与,或,非
算数运算符

+,-,*,/,%(取余)

package com.wang.www.base;

public class Demo6 {
    public static void main(String[] args) {
        //同一类型变量算数运算
        int a=10;
        int b=20;
        int c=31;
        int d=40;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(c/a);
        System.out.println(c%a);
        System.out.println("==========================================================");
        //不同类型变量算数运算
        long e=123456789l;
        int f=123;
        short g=10;
        byte h=8;
        System.out.println(e+f+g+h);//long  自动类型转换
        System.out.println(f+g+h);//int 自动类型转换
        System.out.println(g+h);//int   自动类型转换



    }
}
自增自减运算符

++,–

package com.wang.www.base;

public class Demo7 {
    public static void main(String[] args) {
        //++ -- 自增,自减 一元运算符
        int a=3;
        int b=a++; //执行完这行代码后,先给b赋值(b=a),再自增(++)
        //a=a+1;
        System.out.println(b);
        System.out.println(a);

        int c=4;
        //c=c+1
        int d=++c;//执行这行代码前,先自增(++),再赋值给d
        System.out.println(c);
        System.out.println(d);
        System.out.println("===========================================================");
        //幂运算 2^3  2*2*2=8 很多运算,我们使用一些工具来操作
        double pow=Math.pow(3,2);
        System.out.println(pow);

    }
}
关系运算符

包括>、<、>=、<=、!=、==

package com.wang.www.base;

public class Demo8 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确&错误(布尔值)
        int a=10;
        int b=20;
        int c=20;
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);

    }
}
逻辑运算符

&&、||、!

package com.wang.www.base;

public class Demo9 {
    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));//取反
        System.out.println("=============================================================");
        //短路运算
        int c=5;
        boolean d=(c<5)&&(c++<4);
        System.out.println(c);
        System.out.println(d);//c=5,d=false;
        //判断第一个为假,即为假,不会进行c++运算
        
    }
}
位运算符

&、|、^、~、>>、<<

效率高(和二进制打交道)

package com.wang.www.base;

public class Demo10 {
    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 0101     5
        0000 0110     6
        0000 0111     7
        0000 1000     8 -
        0001 0000     16 -
         */
        System.out.println(2<<3); //2左移三位 =16
    }
}
条件运算符

? :

package com.wang.www.base;

public class Demo11 {
    public static void main(String[] args) {
        // 三元运算符
        //x?y:z
        //如果x==true,则结果为y,否则结果为z
        int score=80;
        System.out.println((score>60)?"及格":"不及格");
    }
}
扩展赋值运算符
package com.wang.www.base;

public class Demo12 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        a+=b;//a=a+b
        System.out.println(a);//30
        a-=b;//a=a-b
        System.out.println(a); //10

    }
}

08包机制

包:文件夹

包语句的句法格式为:

package pk1;

  • 一般使用公司域名倒置作为包名:com.valeria.blog

导入包的句法格式:

import package1;

09JavaDoc生成文档

  • javadoc命令是用来生成自己的API文档的
  • 参数信息
    1. @author 作者名
    2. @version版本号
    3. @since 指明需要最早使用的jdk版本
    4. @param 参数名
    5. @return 返回值情况
    6. @throws 异常抛出情况
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值