重新学习Java的第2天——java的基本知识(1)

Day2

运行HelloWorld.java的知识点
1.java程序编写-编译-运行的过程:
编写:将编写的java代码保存在以".java"结尾的源文件中。
编译:使用javac.exe命令编译java源文件。格式:javac 源文件名。java
运行:使用java.exe命令解释运行字节码文件。格式:java 类名
2.一个java源文件中科院声明多个class,最多只能有一个类声明为public的。
(public只能加到与文件名相同的类中)
3.程序的入口是main()方法,格式是固定的:public static void main(String[] args)
4.输出语句:
System.out.println(); //先输出数据,然后换行
System.out.print(); //直接输出数据
5.编译以后,会生成一个或多个字节码文件,每个字节码文件对应一个类

关键字和保留字
关键字(keyword):别Java语言赋予特殊含义,用做专门有图的字符串
特点:关键字中所有字母都为小写
保留字(reserver word):现有Java版本尚未使用,以后版本可能会作为关键字使用

关键字类型
✔用于定义数据类型的关键字:class、interface、enum、byte、short、int、long、float、double、char、boolean、void
✔用于定义流程控制的关键字:if、else、switch、case、default、while、do、for、break、continue、return
✔用于定义访问权限修饰符的关键字:private、protected、public
✔用于定义类、函数、变量修饰符的关键字:abstract、final、static、synchronized
✔用于定义类与类之间关系的关键字:extends、implements
✔用于定义建立实例及引用实例、判断实例的关键字:new、this、super、instanceof
✔用于异常处理的关键字:try、catch、finally、throw、throws
✔用于包的关键字:package、import
✔其他修饰符关键字:native、strictfp、transient、volatile、assert
✔*用于定义数据类型值的字面值:true、false、null

标识符
标识符:Java对各种变量、方法和类等要素命名时使用的字符序列
(凡是自己起名字的地方都是标识符,比如类名、变量名、方法名、接口名、包名)
合法定义标识符规则:
①由26个英文字母大小写,0-9,_或$组成。
②不可以数字开头。
③不可以使用关键字和保留字,但可以包含关键字和保留字。
④Java中严格区分大小写,长度无限制。
⑤标识符不能包含空格。
(不遵守会导致编译不通过,所以必须严格要求)

一般命名规范:
✔包名:多单词组成时所有字母都小写:xxxyyyzzz
✔类名、接口名:多单词组成时所有单词首字母大写:XxxYyyZzz
✔变量名、方法名:多单词组成时首单词首字母小写,其余单词首字母大写:xxxYyyZzz
✔常量名:所有字母都大写,用_连接单词:XXX_YYY_ZZZ

变量
变量的概念:内存中的一个存储区域;同一类型范围内不断变化;程序中最基本的存储单元
变量的作用:用于在内存中保存数据
使用变量的注意点:
①Java中每个变量必须先声明,后使用
②使用变量名来访问该区域的数据
③变量的作用域:其定义的一对{}内
④变量只有在其作用域内才有效
⑤同一作用域呢,不能定义重名的变量
⑥java定义变量的格式:数据类型 变量名 = 变量值;

public class VariableTest {
    public static void main(String[] args){
        //变量的定义
        int myAge = 12;
        //变量的使用
        System.out.println(myAge);

        //变量的声明
        int myNumber;
        //变量的赋值
        myNumber = 1001;
        System.out.println(myNumber);
    }
}

数据类型
基本数据类型(primitive type):
1.数值型(整数类型byte、short、int、long 浮点类型float、double)
2.字符型(char)
3.布尔型(boolean)
引用数据类型(reference type):
1.类(class)
2.接口(interface)
3.数组([])

整数类型(byte、short、int、long)
byte:1字节(范围:-128 ~ 127)
short:2字节(范围:-2^15 ~ 2^15-1)
int:4字节(范围:-2^31 ~ 2^31-1)
long:8字节(范围:-2^63 ~ 2^63-1)
//声明long型变量,必须以"l"或"L"结尾

浮点型(float、double)
float(单精度):4字节
double(双精度):8字节
//一般使用双精度double,声明float型常量,必须加"f"或"F"

字符型(char)
1字符=2字节
//定义char型变量,通常用一对’’,内部只能写一个字符

布尔型(boolean)
//只能取两个值之一:true、false
//常用于判断和循环结构

public class VariableTest1 {
    public static void main(String[] args) {
       //1.整型
        byte b1 = 12;
        byte b2 = -128;

        System.out.println(b1);
        System.out.println(b2);

        short s1 = 128;
        int i1 = 1234;
        //声明long型变量,必须以"l"或"L"结尾
        long l1 = 1231241323L;
        System.out.println(l1);

        //2.浮点型
        double d1 = 123.3;
        System.out.println(d1 + 1);
        float f1 = 12.3f;
        System.out.println(f1);
        //一般使用双精度double,声明float型常量,必须加"f"或"F"

        //3.字符型
        //①定义char型变量,通常用一对'',内部只能写一个字符
        char c1 = 'a';
        System.out.println(c1);
        //②转义字符
        char c2 = '\n'; //换行符
        c2 = '\t';      //制表符
        System.out.println(c2);
        //③直接使用Unicode值来表示字符型常量
        char c3 = '\u0123';
        System.out.println(c3);

        //4.布尔型
        // 常用于判断和循环结构
        boolean bb1 = true;
        System.out.println(bb1);
    }
}

基本数据类型之间的运算规则:
(前提:只讨论7种基本数据类型间的运算,不包含boolean)
1.自动类型转换:
容量小的数据类型->容量大的数据类型,自动提升为容量大的数据类型。 byte、short、char -> int -> long -> float -> double
当byte、short、char三种类型的变量运算时,结果为int类 (可以理解防止内存溢出)

public class VariableTest2 {
    public static void main(String[] args) {
        byte b1 = 2;
        int i1 = 139;

        //编译不通过
        //byte b2 = b1 + i1;
        int i2 = b1 + i1;   //141
        long l1 = b1 + i1;
        System.out.println(i2);

        float f = b1 + i1;  //141.0
        System.out.println(f);

        char c1 = 'a';
        int i3 = 10;
        int i4 = c1 + i3;   //107
        System.out.println(i4);
    }
}

2.强制类型转换:自动类型提升的逆运算。
需要使用强转符:()
强制类型转换,可能导致精度损失。

public class VariableTest3 {
    public static void main(String[] args) {

        double d1 = 12.3;

        int i1 = (int)d1;//截断操作
        System.out.println(i1);
    }
}

String类型变量的使用
1.String属于引用数据类型
2.声明String类型变量,使用一堆""
3.String可以与8种数据类型作运算,且运算只能是连接运算:+
4.运算的结果依然是String类型

public class StringTest {
    public static void main(String[] args) {
        String s1 = "Hello World!";
        System.out.println(s1);

        String s2 = "1";
        String s3 = "";

        int number = 1001;
        String numberStr = "学号:";
        String info = numberStr + number;//+:连接运算
        System.out.println(info);
        boolean b1 = true;
        String info1 = info + b1;
        System.out.println(info1);//+:连接运算

        //练习1
        char c = 'a';
        int num = 10;
        String str = "hello";
        System.out.println(c + num + str);  //107hello
        System.out.println(c + str + num);  //ahello10
        System.out.println(c + (num + str));//a10hello
        System.out.println((c + num) + str);//107hello
        System.out.println(str + num + c);  //hello10a

        //练习2
        System.out.println("*   *");
        System.out.println('*' + '\t' + '*');
        System.out.println('*' + "\t" + '*');
        System.out.println('*' + '\t' + "*");
        System.out.println('*' + ('\t' + "*"));
    }
}

计算机中不同进制的使用说明:
①二进制:0B或0b开头
②十进制:满10进1
③八进制:满8进1,以数字0开头表示
④十六进制:0-9和A-F,满16进1,以0x和0X开头表示

public class BinaryTest {
    public static void main(String[] args) {
        int num1 = 0b110;
        int num2 = 110;
        int num3 = 127;
        int num4 = 0x110A;

        System.out.println("num1 = " + num1);
        System.out.println("num2 = " + num2);
        System.out.println("num3 = " + num3);
        System.out.println("num4 = " + num4);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值