首页 > 编程语言 > 详细

Java基础

时间:2021-08-10 23:14:23      阅读:18      评论:0      收藏:0      [点我收藏+]

Java基础

注释

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

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

  • 书写注释是一个非常好的习惯,平时写代码一定要注意规范。

  • Java中的注释有三种:

    • 单行注释: //可以注释一行文字
    • 多行注释: /*可以注释一段文字 */
    • 文档注释(即JavaDoc): /** 起到描述类或方法的作用,可写在类上面或方法上面。 */
public class HelloWorld {
    public static void main(String[] args) {
        //单行注释
        //输出一个Hello,World!
        System.out.println("Hello,World!");
    }
}
//多行注释
/*
*                    .-‘-._
*                   /    e<
*               _.-‘‘‘;  (
*     _______.-‘‘-._.-‘  /
*     ====---:_‘‘-‘     /  _  _     %%%%
*              ‘-=. .-‘` _(_)(_)   %%|/%%%
*                _|_\_  (_)(_)(_) %%%%%%%%%%
*               //\\//\\//\\//\\//\\%/_%%%%%%%
*           ____\\//\\//\\//\\//\\// |__|/__%%%
*  ________(___  \\/\//\\//\\//\\//__//___%%%%%%%
*            / \  \_/ __ \___//------\--%%%%%%
*  _________/   \____/  \____/\\%%%%%%%%%%%%
*                              \_-%%%%%%%%
*
*/
//JavaDoc:文档注释
/**
*@author 伍仟&卦
*@version jdk1.8.0
*/

Java标识符和关键字

技术分享图片

要想了解Java关键字,首先先了解Java标识符。Java所有的组成部分都需要名字,类名、变量名以及方法名都被称为标识符

Java关键字是 电脑语言 里事先定义的,有特别意义的 标识符 ,有时又叫 保留字 ,还有特别意义的变量。. Java的关键字对Java的 编译器 有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。

标识符注意点
  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合
  • 不能使用关键字作为变量名或方法名
  • 标识符是大小写敏感
  • 可以使用中文命名,但是一般不建议这样去使用,也不建议用拼音,很Low
public class Demo01 {
    public static void main(String[] args) {
        //合法的命名方式
        String 王者荣耀 = "黄金";//不建议使用
        System.out.println(王者荣耀);

        String Man = "伍仟&卦";
        String man = "伍仟&卦";
        //Java大小写敏感,Man和man是两个不同的变量
        
        String $name = "伍仟&卦";//首字母为美元符号
        String _name = "伍仟&卦";//首字母为下划线
        String _1 = "伍仟&卦";//首字母之后为数字
        String _s = "伍仟&卦";//首字母之后为英文小写
        String _S = "伍仟&卦";//首字母之后为英文大写
        String _$ = "伍仟&卦";//首字母之后为美元符号
        String __ = "伍仟&卦";//首字母之后为下划线
        //不合法的命名方式
        //String #name = "伍仟&卦";
        //String |name = "伍仟&卦";
        // String @name = "伍仟&卦";
        //String s# = "伍仟&卦";
        //String s^ = "伍仟&卦";
        //String class = "伍仟&卦"; 
        //关键字不能用来命名

    }
}
变量
  • 变量:可以变化的量
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value][{,varName[=value]}];
//数据类型	变量名 = 值;	可以使用逗号隔开来声明多个同类型变量。
  • 注意事项
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
public class Demo04 {
    public static void main(String[] args) {
        //强制转换 : (类型) 变量名    高--低
        //自动转换 :低--高
        //内存溢出:超出范围
        int i = 128;
        byte b =(byte) i;   //-128
        System.out.println(b);
        System.out.println("----------------------------");
        //精度丢失
        int f = (int)20.1f; //20
        double d = (int) 22.33; //22.0
        System.out.println(f);
        System.out.println(d);
        System.out.println("----------------------------");
        /*
        注意点:
        1.不能对布尔值进行转换
        2.不能把对象类型转化为不相干的类型
        3.在把高容量转换到低容量的时候,强制转换
        4.转换的时候可能存在内存溢出,或者精度问题
         */
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性:数字之间可以用下划线分割,输出结果不会影响
        int money = 10_0000_0000;
        int years = 20;
        int total1 = money*years;   //-1474836480,溢出问题
        long total2 = money*years;  //-1474836480,默认是int,计算之前就已经出问题了
        long total3 = money*(long)years;    //20000000000
        System.out.println(total3);
        System.out.println("----------------------------");

        /*
        Pass:写程序的过程中,我不小心把long写成了Long,然后代码就开始报错:
        Inconvertible types; cannot cast ‘int‘ to ‘java.lang.Long‘
        不能自由兑换的类型;不能将‘int‘转换为‘java.lang.Long‘
        小写的long指的是基本类型,大写的Long指的是对象类型又称为包装类。
        Java是大小写敏感的语言,所以以后写Java程序也要切记不要写错大小写,不然代表的意义可能就不一样了。
         */
    }
}

Java数据类型

Java是一种强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。强类型语言安全性高,但是速度比较慢。强类型语言有Java、C、C++等。

与之相对应的是弱类型语言,要求变量的使用可以不用严格符合规定。弱类型语言安全性不高,但是速度比较快。弱类型语言有VB Script、JS等。

Java的数据类型分为两大类:

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

技术分享图片

技术分享图片

public class Demo02 {
    public static void main(String[] args) {
        //八大基本数据类型
        //整数
        byte num1 = 10;
        short num2 = 20;
        int num3 = 30;      //最常用
        long num4 = 40L;    //Long类型要在数字后面加个L

        //小数:浮点数
        float num5 = 50.1F; //Float类型要在数字后面价格F
        double num6 = 3.1415926;

        //字符
        char name = ‘伍‘;    //字符是单个字,用单引号表示
        //字符串,String,不是关键字,它是类
        //String sname = "伍仟&卦";  //要用双引号表示

        //布尔值:是非
        boolean flag = true;
        //boolean flag = false;
    }
}
什么是字节
  • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数

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

  • 1B(byte,字节) = 8bit (位)

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

  • 1bit表示1位

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

  • 1024B = 1KB

  • 1024KB = 1M

  • 1024M = 1G

  • 1024G = 1TB

Java数据类型扩展
进制
  • 二进制开头用0b表示
  • 八进制开头用0表示
  • 十六进制开头用0x表示
public class Demo03 {
    public static void main(String[] args) {
        //整数拓展      进制      二进制0b       十进制     八进制0        十六进制0x
        int i = 10;
        int i1 = 010;       //八进制
        int i2 = 0x10;      //十六进制  0~9 A~F 16
        int i3 = 0b10;      //二进制
        System.out.println(i);
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
    }   
}

得到的结果是:10、8、16、2,这也进一步验证了java里面进制的表示方式。

浮点数拓展

一般银行业务表示不会采用浮点数来表示,而是采用数学工具类BigDecimal表示。原因很简单:浮点数能表示的数有限,它会舍入误差,取得值并不准确。

   //浮点数拓展?    银行业务怎么表示?   钱
        //BigDecimal    数学工具类
        //------------------------------------------------------------
        //float     有限  离散  舍入误差    大约  接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        float f = 0.1f;     //0.1
        double d = 1.0/10;  //0.1
        System.out.println(f==d);//false

        float d1 = 23333334444444f;
        float d2 = d1 + 1;
        System.out.println(d1==d2); //true

上例中f和d变量虽然打印出的值都是0.1,但是不相等,是因为它们声明的数据类型不同,一个是float类型,一个是double类型;

而d1和d2明明相差了1,但是最后结果却相等,恰恰说明了浮点数的近似逼近运算。

字符拓展&转义字符

所有的字符本质上都是数字,字符通过unicode编码表编码后可以获得一个数字,这个数字能代替该字符。

比如,unicode表中的97代表小写字母a,65代表大写字母A。unicode是2字节的,范围在0-65536之间,当然现在可能更长。

  • 转义字符
  • \t:制表符
  • \n:换行
  • ......
 //字符拓展?
        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     最早的Excel最长有:2^16=65536
        //转义表:U0000-UFFFF

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

        //转义字符
        System.out.println("Hello\nWorld!");
布尔值拓展

布尔值只有两个值:true 或 false。

用于判定或者条件时,新手通常会写完整的语句,即:变量名=true;但是老手通常不会这么做,它们直接写变量名来表示,使得代码更加精炼简洁。如:

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

Java基础

原文:https://www.cnblogs.com/surplus-G/p/15121067.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!