Java学习【Day 1】

前言

终究绕不过Java的学习…老老实实来学了,为以后打基础吧~

参照视频:Java零基础视频教程(适合Java基础,Java入门)老杜Java13版

文章目录

        • 前言
        • 注释
        • 一个简单例子
        • 标识符
        • 变量的分类
        • 数据类型
        • 自动类型转换
        • 强制类型转换

JVM(JAVA虚拟机)的存在使得 JAVA “一处编译,处处运行”
Java学习【Day 1】_第1张图片

  1. 编译阶段:我们的源代码需要经过编译后生成xx.class文件,它是字节码文件,供JVM识别。

  2. 运行阶段:在JVM中运行,运行的是.class文件,也就是字节码文件

  3. 一个java源文件可以编译生成多个class文件

  4. 最终运行的是class文件

编译: javac xx.java
运行: java	xx

注释

单行注释:
		//

多行注释:
		/*
		..........
		*/

文档注释(javadoc注释):
		/**
		@author DMIND
		@version 6.6.6
		这里的注释信息可以被javadoc解析提取并生成到帮助文档中。
		*/

一个简单例子

  1. 一个java源文件可以生成多个类
  2. public修饰词不是必须,可以没有
  3. 虽然源文件中可以不用public修饰一个类,但如果有,一个源文件中只能有一个public,且被public修饰的类名必须和文件名一致
  4. 文件中只要出现class就会生成一个对应的class文件(下例会生成两个class文件)
//文件名:Main.java

public class Main {
     

    public static void main(String[] args) {
     	//main方法是程序的入口
	    System.out.println("DMIND");//字符
	    System.out.println(666); //数字,不需要加引号
		System.out.println(222+444);//对于数字可以直接进行加减乘除(+ - * /)
    }
}

class A{
     
 public static void main(String[] args) {
     	//main方法是程序的入口
	    System.out.println("Second class");
    }
}

标识符

即:类名、变量名、方法名、类型名、数组名

  1. 标识符由字母、数字、下划线、美元符号$。长度不受限制
  2. 标识符第一个字符不能是数字
  3. 标识符不能是关键字(true、false、nulll、public、main…)
  4. 字母是区分大小写的

变量的分类

  1. 成员变量:在方法体外,类体内声明的变量
  2. 局部变量:在方法体中声明的变量。只在方法体中有效,方法体结束后内存就会被释放
public class Var{
     
	int i = 100;//成员变量
	
	public static void main(String[] args){
     
		int k = 2333;//局部变量。main方法结束后k的内存就会释放
	}
}

数据类型

第一种数据类型:基本数据类型(4大类8小种)
1. 整数型
1.1 byte:一个字节,占8位,-2的7次方~2的7次方-1
1.2 short:两个字节,16位
1.3 int:四个字节,32位
1.4 long:八个字节,64位

2. 浮点型
2.1 float(单精度):保留8位有效数字
2.2double(双精度):保留16位有效数字

3. 逻辑型:booleantruefalse

4. 字符型:char:两个字节,一共表示出65536个字符。使用单引号引起来

第二种数据类型:引用数据类型
字符串型String属于引用数据类型
java中除了基本数据类型,剩下的都是引用数据类型

关于基本数据类型的例子:(写的很杂乱…)

public class Main {
     
	//

    public static void main(String[] args) {
      
		char chr = '\u4e2d';//unicode编码
		int num1 = 4;	//十进制
		int num2 = 0b100; //二进制
		int num3 = 010;	//八进制
		int num4 = 0x10;//十六进制
		System.out.println(num1);//4
		System.out.println(num2);//4
		System.out.println(num3);//8
		System.out.println(num4);//16

	    byte age = 5;
	    long high = 2147483648L;//2147483647是int类型最大值(32位最大值)
		System.out.println(high);//2147483648

		float price = 45.5F;//后面必须由F或f
	    double weight = 12.5;//后面可有D或d,默认省略
		
		int width = (int)weight; //int强制转换,会发生精度缺失
		System.out.println(width);//12


		System.out.println(chr+"\n"+num1+"\n"+age+"\n"+price+"\n"+weight);
		/*
		输出:
			中
			4
			5
			45.5
			12.5
		*/
    }
}

八种基本数据类型中,除了boolean类型不能转换,剩下七种类型之间都可以进行转换。

多种数据类型混合运算中,先各自转换成其中容量最大的一种,再进行运算

自动类型转换

即:小容量可以直接赋值给大容量。
容量从小到大的排序:

byte<short(char)<int  <long<float<double
1字节<   2字节   <4字节<8字节<4字节<8字节

虽然short和char都占2字节,但char可表示更大的正整数

强制类型转换

即:大容量转换成小容量。
强制转换有可能导致精度损失,谨慎使用。

你可能感兴趣的:(Java,java)