分享

java学习day02

 冒险的K 2021-09-15

注释

  注释是对java源代码的解释说明

  注释只保存在java源文件中,字节码文件没有注释信息

 1 /* 2 这是一个多行注释 3 */ 4  5 //这是一个单行注释 6  7  8 * 9 *javadoc注释10 *javadoc使用,新建一个文件夹,在dos命令窗口下使用javadoc -d 新建文件夹名字 -作者 -版本 (有的信息要提取用-要提取的信息)要提取的Java文件11 *执行完命令后,会在javadoc生成一堆文件,找到index.html用浏览器打开12 *命名要用到@如@author作者,@version版本号13 *14 */

Hello World

//class关键字定义类//public是权限修饰符,表示公开的,所有类都可以访问这个类public class Demo1 {    //这是程序的入口main方法,必须要有
    public static void main(String[] args) {        //这是方法体,方法体遵循自上而下依次执行        //这是输出语句,打印hello world
        System.out.println("hello world");
    }
}

在一个源文件中可以有多个类,public类不是必须的,但如果有,有且只有一个

public修饰的类的类名必须和源文件名保持一致

标识符

什么是标识符

  类名、方法名、变量名、常量名、接口名……凡是程序员自己有权命名的都是表示符

标识符命名规则:

  1、标识符只能由数字,字母(包括中文),下划线_、美元符号$组成,不能含有其他符号

  2、表示符不能以数字开头

  3、关键字不能做标识符

  4、标识符严格区分大小写

  5、标识符理论上没有长度限制

main是一个方法名称,属于标识符,但不可以修改

标识符命名规范

  1、见名知意

  2、遵循驼峰命名方式,有利于单词与单词之间进行间隔

  3、类名和接口名要求:每个单词首字母大写,其余小写

  4、变量名和方法名要求:第一个单词首字母小写,其余单词首字母大写

  5、所有常量名大写,并且单词与单词之间用下划线衔接

什么是关键字?

  关键字是SUN公司开发java语言时,提前定义好的一些具有特殊含义的单词,关键字全部小写

变量

什么是变量?

  变量是内存当中存储数据的基本单元,java是强类型语言,任何数据都有数据类型,不同的数据类型,在内存中分配的空间大小不同

变量包含哪三要素?

  变量的数据类型

  变量的名字

  变量保存的值

  类型决定空间大小,名字便于以后访问,值是变量保存的数据

变量的声明/定义

  语法格式:数据类型 变量名 = 值;

public class Dem01 {    public static void main(String[] args) {        int i = 10;//定义变量时赋值
        int n;//先定义变量
        n = 10;//后赋值    }
}

java中还可以同时定义多个变量

public class Dem01 {    public static void main(String[] args) {        int n,i,t; 
    }
}

但是无法同时对多个变量进行赋值

变量的作用域

作用域就是变量的有效范围

一个方法就是一个作用域,方法外是同一个作用域

在for循环声明的变量i时,出错了,那是因为在同一个域中变量不能重名,for循环在main方法这个域中,for循环外已经声明了变量i,使用循环里就不能再次声明变量i

在同一个类当中,当成员变量和局部变量重名,使用该重名变量时,用的是谁?

就近原则,用的是局部变量

如果非要使用成员变量怎么办?

如果成员变量是静态变量直接使用类名.即可

如果是实例变量那就先创建对象再使用引用.来调用

变量的分类

根据变量的位置不同可以分为:局部变量(方法体内声明)和成员变量(方法体外声明)

局部变量只有在方法体中有效,方法结束,内存就释放

成员变量又分为实例变量和静态变量

public class Dem01 {    
    public static void main(String[] args) {        int c = 10;//局部变量,在同个类中可以直接使用        System.out.println(c);
        System.out.println(Demo2.a);
        System.out.println(new Demo2().b);
    }
}class Demo2{    static int a = 5;//静态变量,在其他类中要使用类名.的方式引用
    int b = 0;//实例变量,在其他类中需要先创建对象才能通过引用.的方式引用}

数据类型

数据类型分为基本数据类型和引用数据类型,除了八种基本数据类型外其他都是引用数据类型

基本数据类型:

  整型:

    byte、short、int、long

  浮点型:

    float、double

  布尔型:

    boolean

  字符型:

    char

byte1字节
short2字节
int4字节
long8字节
float4字节
double8字节
boolean1字节
char2字节

计算机存储单位:

  1字节 = 8bit  1byte = 8bit  1kb = 1024byte

数据类型的取值范围

byte:[-128~127]

short:[-32768~32767]

int:[-2147483648~2147483647]

char:[0~65535]

short和char实际容量相同,但是char可以表示更大的数字,因为char表示文字,文字没有负数,所有char可以表示更大的正数范围

整数型

  整数型有byte,short,int,long,其中最常用的是int类型

  进制

    二进制:以0b开头(二进制位最左边是符号位,0表示正数,1表示负数

    八进制:以0开头(如01换算成十进制就是1,0123换算成十进制就是83)

    十六进制:以0X或者以0x开头(如:0x25换算成十进制是37)

  在默认情况下,整数型被当做int类型处理,如果希望这个数据被当做long类型来处理,要在数据后面添加L/l

浮点型

  浮点型有float和double

  浮点型是有限、离散、舍入误差、大约、接近但不等于

  所有最后避免使用浮点数进行比较,也不适合进行高精度的运算,如果需要进行高精度运算可以使用BigDecimal数据工具类。

  任意一个浮点型都比整型空间大

  在默认情况下浮点型会被当做double类型来处理,如果希望这个数据被当做float类型来处理,要在数据后面添加F/f

字符型

  所有字符的本质还是数字,整数能直接赋值给char类型

  当一个整数型赋值给char类型变量时,在没有超过char取值范围的情况下会自动转换成char字符型

类型转换

八种数据类型除了boolean不能进行类型转换,其他七种都有可以进行类型转换

类型转换分为: 

  自动类型转换:小容量的数据类型自动转换为大容量当数据类型,这种转换不需要程序员亲自操作

  强制类型转换:当大容量数据类型转换为小容量的数据类型时,不能直接转换需要使用强制类型转换符进行强制转换

使用强制类型转换无论一个数是否超过自身取值范围都能转换,但是会损失精度

这样子虽然没有报错但是如果将t输出会有意想不到的结果

正数变成了负数!!!

为什么会这样!!!

举个栗子:long类型的100转换为int类型的100

  

所以进行强制类型转换时要注意是否超出取值范围,否则后果自负

整数型运算

byte、char、short之间进行混合运算时先各自转换为int在进行计算

byte、char、short、long进行混合运算时会先各自转换为long在计算

转义字符

java中转义字符是反斜杠(\)

反斜杠(\)后面的字符会进行转义,如果遇到无法转义的字符则会报错

常见的转义字符

\n:换行符

\t:tab制表符

\":普通的双引号(当想要输出双引号时可以使用这个)

\':普通的单引号(当想要输出单引号时可以使用这个)

\\:普通的反斜杠(想要输出反斜杠时可以用)

\u:表示一个字符

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多