java学习day02

注释

  注释是对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

byte 1字节
short 2字节
int 4字节
long 8字节
float 4字节
double 8字节
boolean 1字节
char 2字节

计算机存储单位:

  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)

相关推荐

  • 从零开始学Java(六)Java八种基本数据类型详解

    数据类型 1.数据类型有什么用? 数据类型用来声明变量,程序在运行过程中根据不同的数据类型分配不同大小的空间. int i = 10; double d = 1.23; i变量和d变量类型不同,空间大 ...

  • JAVA_基础数据类型介绍与基本数据类型之间的运算规则

    基本数据类型 整型: byte.short.int.long java 的整型常量默认为int型,在java程序中变量通常声明为int型,除非不足以表示较大的数才用long,而在声明long型常量必须 ...

  • 面试官:Java 中有几种基本数据类型是什么?各自占用多少字节?

    认识基本数据类型 在学习基本数据类型之前,我们先认识一下这两个单词: 1.bit --位:位是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为"0"或"1&qu ...

  • Java复习,Java知识点以及Java面试题(一)

    J2SE(Java 2 Platform Standard Edition) J2ME(Java 2 Platform Micro Edtion) J2EE(Java 2 Platform Enter ...

  • Java基础语法(总结篇)

    关键字&标识符 关键字的概念与特征 概念:Java关键字是事先定义好的对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名.方法名.类名.包名和 ...

  • Java学习-注解和反射

    注解 java.Annotation Annotation的作用:可以呗其他程序读取 Annotation的格式 注解是:@注释名 在代码中存在,还可以添加一些参数 ​@SuppressWarning ...

  • Java学习-多线程

    多线程 任务(Task).进程(Process).线程(Thread) 进程的创建 1.继承Thread类 自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用sta ...

  • Java学习-Mybatis

    Mybatis Maven依赖: <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependenc ...

  • Java 学习笔记

    您对计算机(电脑)有了解吗? 计算机组成 系统软件 直接和硬件交互的软件叫系统软件,例如 win7.win8.Linux.mac等操作系统 应用软件 通常在运行在系统软件上,也就是在系统软件上开发的软 ...

  • Java学习-126.2048代码

    本篇帖的是按钮的代码. 因为按钮比较多,包括菜单项的动作,为了区分,我用了两个内部类来实现这两部分代码. //本类是Game_2048类的内部类,用来实现上.下.左.右四个按钮,以及重新开始和退出游戏 ...

  • Java学习—125.2048代码

    本篇帖的是部分动作代码. 每个方法前都有注释说明本方法的功能. //随机选取一个位置,并填入数字2.如果此位置中已有数字,那么换一个位置. public void rule(){ x=ran.next ...

  • Java学习—124.2048代码

    游戏的主界面的代码在类game_2048中. 本类主要包括两个方面: 一是布局. 二是动作,按钮的动作. 其中,动作又有菜单动作,按钮动作.而按钮动作又有多方面,在下一篇的代码中会有注释说明. 本篇帖 ...

  • Java学习—123.2048小游戏

    好久又没出现了,还好后台也没几条信息,我也不至于很愧疚,只是人气不太旺盛,好尴尬 最近稍微有点忙,也是自己放松了一下,哈哈...... 抱歉一下,之前给我信息的各位亲,由于时间有点久,我就不一一回复了 ...

  • Java学习—问题

    上个月参加了一个考试,然后面试,准备.折腾了好久时间,身心俱疲,也没有更新公众号,后台有好多留言,但时间已过,我已经回不了了 请各位见谅...... 在后台看到一个小伙伴的留言,要解决一个问题, 本篇 ...