学习日05-07

Java基础语法

注释

  • 平时我们写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。

  • 注释并不会被执行,是给我们写代码的人看的。

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

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

  • 可以自行搜索一些:有趣的代码注释

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MeWKyh9c-1615565197309)(C:\Users\Administrator.USER-20180928VL\Desktop\多行注释.png)]

  • Java中的注释有三种:

    1. 单行注释 //+注释内容
    2. 多行注释 /* +注释内容+ */
    3. 文档注释 /** +回车+注释内容+ */

IDEA设置

  • File—settings—Editor—Color Scheme—Java
  • Annotations----注解
  • Comments----注释
    • Block comment—区域注释or多行注释
    • Line comment—单行注释
    • JavaDoc—文档注释
    • 更改颜色时请把Inherit values from勾选取消掉
    • Bold—粗体 Italic—斜体

标识符与关键字

关键字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EQxHtWE6-1615565197313)(C:\Users\Administrator.USER-20180928VL\Desktop\常用关键字.png)]

常用的关键字

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

标识符注意点

  • 所有的标识符都应该以字母A-Z或者a-z,美元符$,或者下划线_开始
  • 首字符之后可以是字母A-Z或者a-z,美元符$,下划线_或数字的任何字符组合
  • 不能使用关键字作为变量名或方法名。*
  • 标识符是大小写敏感的。*
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary、#abc
  • 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

数据类型

强类型语言

  • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用,强类型语言包括:Java、.net、Pytho、C++等语言*

弱类型语言

  • 弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换。弱类型语言包括:vb 、PHP、javascript等语言

Java的数据类型分为两大类

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h24AIc3Q-1615565197315)(C:\Users\Administrator.USER-20180928VL\Desktop\数据类型.png)]

什么是字节

  • 位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数。
  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示。
  • 1B=8bit
  • 字符:是指计算机中使用的字母、数字、字和符号。
    • 1bit表示1位
    • 1Byte表示一个字节 1B=8bit
    • 1024B=1KB
    • 1024KB=1M
    • 1024M=1G
    • 1024G=1TB

数据类型扩展

整数扩展

  • 二进制0b 八进制0 十六进制0x

  • int i = 10; //十进制
    int i2 = 010; //八进制0
    int i3 = 0x101; //十六进制0x   
    
  • 十六进制由数字0-9和字母A-F组成

浮点数扩展

  • float与double

  • 浮点数能表现的字长是有限的,也是离散的

  • 舍入时有误差,大约为xxx,接近但不等于

  • 最好完全避免使用浮点数进行比较

  • float f = 0.1f;//输出值为0.1
    double d = 1.0/10;//输出值为0.1
    Sysstem.out.println(f==d);//输出结果为false
    
    float d1 = 2311312312312313f;
    float d2 = d1+1;
    Sysstem.out.println(d1==d2);//输出结果为true
    
  • BigDecimal 数学工具类 银行业务要用这个类来表示*

字符扩展

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

  • Unicode 编码可以处理各种语言、文字,占用2个字节,最多可以表示65536个字符

  • Unicode 编码以数字代表一个文字或字母,区间范围为U0000-UFFFF

  • Excel表格最多有2的16次方的表格,表格总数为65536

  • char c1 = 'a';
    char c2 = '中';
    Sysstem.out.println(c1);
    Sysstem.out.println((int)c1);//强制转换(查看Unicode编码)
    Sysstem.out.println(c2);
    Sysstem.out.println((int)c2);//强制转换
    
    char c3 = '\u0061';
    Sysstem.out.println(c3);//输出结果为a
    

转义字符扩展

  • 常用的转义字符
    • \t—水平制表符
    • \n—回车
    • \f—换页
    • \r—换行
    • \v—垂直制表符

关于对象扩展

  • 从内存方面去分析false与true

  • 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
    

布尔值扩展

  • 关于如何判断新手与老手

  • Less is More! 代码要精简易读

  • boolean flag = true;
    if (flag==true){}//新手
    if (flag){}//老手
    

类型转换

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

  • 运算中,不同类型的数据线转化为同一类型,然后再进行运算。

  • 转换过程为从低到高来转换

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

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

  • 规则:按字节大小来排列,小数的优先级要大于整数

  • 强制类型转换 (从高到低)

    int i = 128;
    byte b = (byte)i;//输出值为-128,byte的最大值为127,转换时的内存溢出 //要避免内存溢出的情况*
    //强制转换     (类型)变量名
    System.out.println(i);
    System.out.println(b);
    
  • 自动类型转换 (从低到高)

    int e = 128;
    double f = e;//输出值为128.0
    System.out.println(e);
    System.out.println(f);
    
  • 注意点!

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

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

    3. 在把高容量转换为低容量的时候,使用强制转换

    4. 在把低容量转换为高容量的时候,使用自动转换

    5. 转换的时候可能存在内存溢出、或者精度问题!

      //转换时的精度问题
      System.out.println((int)23.7);//输出结果为23
      System.out.println((int)-45.89f);//输出结果为-45
      
  • 附加

    char c = 'a' ;
    int d = c+1;
    System.out.println(d);//输出结果为98
    System.out.println((char)d);//输出结果为b
    
  • 附加2

    //操作比较大的数的时候、注意溢出问题!
    //JDK7新特性,数字多的时候可以用下划线进行分割
    int money = 10_0000_0000;
    int years = 20;
    int total = money*years;//输出值为-1474836480,计算的时候溢出了
    long total2 = money*years;//输出值也为-1474836480,转换后无用
    //原因是默认的money和years已经是int了,在转换为long之前已经出现问题了
    long total3 = money*((long)years);//输出值正常,先把一个数值转换为long
    System.out.println(total);
    System.out.println(total2);
    System.out.println(total3);
    //尽量都用大写的L来表示long函数
    

变量、常量、作用域

变量

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

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

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

    type varName [=value] [{,varName[=value]}];
    //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量。
    
  • 注意事项

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

    //int a,b,c;
    int a=1,b=2,c=3;//尽量分开来写int a=1;int b=2;int c=3;
    //不能让“程序可读性”变得很差
    String name = "wuyue";
    char x ='X';
    double pi = 3.14;
    

变量作用域

  • 类变量

  • 实例变量

  • 局部变量

    public class Variable{
        static int allClicks=0;   //类变量
        String str="hello world";   //实例变量
        
        public class method(){
            int i = 0;   //局部变量
        }
    }
    

作用域应用

public class demo07 {

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

    //属性:变量

    //实例变量:实在方法的外面,在类里面。是从属于对象的;
    //如果不自行初始化,会输出这个类型的默认值:0 or 0.0 or u0000
    //布尔值:默认是false;除了基本类型,其余类型的默认值都为null
    String name;
    int age;

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

        //局部变量;必须声明和初始化值,当前的局部变量只适用于当前的{}内
        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);

    }

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

    }
}

常量

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

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

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

常量应用

public class demo08 {

    //final为修饰符,不存在先后顺序。通过final来定义常量。
    static final double PI = 3.14;

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

    }
}

变量的命名规范

  • 所以变量、方法、类名:见名知意*
  • 类成员变量:首字母小写和驼峰原则:monthSalary(月工资)除了第一个单词以外,后面的单词首字母要大写!例:lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:全部使用大写字母可以加下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值