栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础学习笔记(一)—— 基础入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础学习笔记(一)—— 基础入门

基础入门
  • 1 Java开发环境
  • 2 Java程序开发步骤
    • 2.1 编写
    • 2.2 编译
    • 2.3 运行
  • 3 注释
  • 4 标识符
  • 5 常量
  • 6 变量
  • 7 数据类型
    • 7.1 数据类型分类
    • 7.2 数据类型转换
      • 7.2.1 自动转换
      • 7.2.2 强制转换
  • 8 运算符
    • 8.1 算数运算符
    • 8.2 赋值运算符
    • 8.3 比较运算符
    • 8.4 逻辑运算符
    • 8.1 三元运算符

1 Java开发环境

  • JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上
  • JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。
  • JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。

注意:

  • 我们想要运行一个已有的Java程序,那么只需安装 JRE 即可。
  • 我们想要开发一个全新的Java程序,那么必须安装 JDK 。
  • 三者关系: JDK > JRE > JVM

Java语言的跨平台特性:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM 运行在操作系统上。

如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。

2 Java程序开发步骤

Java程序开发三步骤:编写、编译、运行

2.1 编写

编写Java源文件HelloWorld.java

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

main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。

注意:

  • 文件名必须是 HelloWorld ,保证文件名和类的名字是一致的,注意大小写
  • 这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的 Java源文件编译成JVM可以看懂的字节码文件
2.2 编译

在DOS命令行中,进入Java源文件的目录,使用javac 命令进行编译
Java源文件的编译工具 javac.exe

javac Java源文件名.后缀名

即

javac HelloWorld.java

编译成功后,命令行没有任何提示。打开文件所在目录,发现产生了一个新的文件 HelloWorld.class ,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了

2.3 运行

在DOS命令行中,进入Java源文件的目录,使用 java命令进行运行
Java程序 .class文件 的运行工具 java.exe

java 类名字

即

java HelloWorld

注意:
HelloWorld不要加后缀

3 注释

注释:就是对代码的解释和说明
其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须 要的,它不影响程序的编译和运行

Java中有单行注释和多行注释

  • 单行注释以 //开头 以换行结束
  • 多行注释以 结束
4 标识符

标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
HelloWorld案例中,出现的标识符有类名字 HelloWorld

命名规则: 硬性要求

  • 标识符可以包含英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线)
  • 标识符不能以数字开头
  • 标识符不能是关键字

命名规范: 软性建议

  • 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)
  • 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)
  • 变量名规范:全部小写

关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。
HelloWorld案例中,出现的关键字有 public 、 class 、 static 、 void 等,这些单词已经被 Java定义好,全部都是小写字母,notepad++中颜色特殊。

5 常量

常量:是指在Java程序中固定不变的数据

注意:
空常量不能用来打印输出

6 变量

变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型

定义变量:

数据类型 变量名 = 数据值;// 在创建一个变量的同时,立刻放入指定的数据值

数据类型 变量名称; // 创建了一个变量
变量名称 = 数据值; // 赋值,将右边的数据值,赋值交给左边的变量

注意:

  • 变量名称:在同一个大括号范围内,变量的名字不可以相同
  • 变量赋值:定义的变量,不赋值不能使用
  • 如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围

可以通过一个语句来创建多个变量,但是一般情况不推荐这么写

// 同时创建了三个全都是int类型的变量
int a, b, c;
// 各自分别赋值
a = 10;
b = 20;
c = 30;

// 同时创建三个int变量,并且同时各自赋值
int x = 100, y = 200, z = 300;

拓展:

public static void main(String[] args) {
        byte b1 = 1;
        byte b2 = 2;
        byte b3 = 1 + 2;
        byte b4 = b1 + b2;
        System.out.println(b3);
        System.out.println(b4);
    }

分析: b3 = 1 + 2 ,1和2是常量,为固定不变的数据,在编译的时候(编译器javac),已经确定了 1+2 的结果并没 有超过byte类型的取值范围,可以赋值给变量 b3 ,因此 b3=1 + 2 是正确的。 反之, b4 = b2 + b3 , b2 和 b3 是变量,变量的值是可能变化的,在编译的时候,编译器javac不确定b2+b3的结果是什 么,因此会将结果以int类型进行处理,所以int类型不能赋值给byte类型,因此编译失败。

7 数据类型 7.1 数据类型分类

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

  • 基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔
  • 引用数据类型:包括 类 、 数组 、 接口

四类八种基本数据类型:

注意:

  • Java中的默认类型:整数类型是 int 、浮点类型是 double
  • long类型:建议数据后加L表示。 float类型:建议数据后加F表示
7.2 数据类型转换 7.2.1 自动转换

自动转换:将取值范围小的类型自动提升为取值范围大的类型
范围小的类型向范围大的类型提升,byte、short、char运算时直接提升为int
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double

7.2.2 强制转换

强制转换:将取值范围大的类型强制转换成取值范围小的类型
比较而言,自动转换是Java自动执行的,而强制转换需要我们自己手动执行

转换格式:

数据类型 变量名 = (数据类型)被转数据值;

// double类型数据强制转成int类型,直接去掉小数点。 
int i = (int)1.5;

注意:

  • 浮点转成整数,直接取消小数点,可能造成数据损失精度。
  • int 强制转成 short 砍掉2个字节,可能造成数据丢失
  • byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算
  • boolean类型不能发生数据类型转换
    拓展:
    ASCII编码表
    在计算机的内部都是二进制的0、1数据,将所有的英文字母,数字,符号都和十进制进行了对应,计算机可以直接识别人类文字
8 运算符 8.1 算数运算符


注意:

  • Java中,整数使用以上运算符,无论怎么计算,也不会得到小数。
  • +符号在遇到字符串的时候,表示连接、拼接的含义
  • 变量在独立运算时, 前++ 和 后++没有区别,和其他变量放在一起, 前++ 和 后++ 就产生了不同
  • 一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。
  • 只有对于整数的除法来说,取模运算符才有余数的意义
  • 对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作。任何数据类型和字符串进行连接的时候,结果都会变成字符串
public static void main(String[] args) { 
	int i = 1234; 
	System.out.println(i/1000*1000);//计算结果是1000 
	}

public static void main(String[] args){
	System.out.println("5+5="+5+5);//输出5+5=55 
	}
	
public static void main(String[] args){
	System.out.println(str2 + 20 + 30); // Java2030
	System.out.println(str2 + (20 + 30)); // Java50
		}
8.2 赋值运算符

拓展:复合赋值运算符其中隐含了一个强制类型转换

public static void main(String[] args) {
        short s = 1;
        s += 1;
        System.out.println(s);
    }

分析: s += 1 逻辑上看作是 s = s + 1 计算结果被提升为int类型,再向short类型赋值时发生错误,因为不能将取值范围 大的类型赋值到取值范围小的类型。但是, s=s+1进行两次运算 , += 是一个运算符,只运算一次,并带有强制转换的特点, 也就是说s += 1就是s = (short)(s + 1),因此程序没有问题编译通过,运行结果是2

8.3 比较运算符

比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false

注意:
在Java中,如果进行多次判断,不能连着写,在Python中可以

System.out.println(1 < x < 3); // 错误写法!编译报错!不能连着写。
8.4 逻辑运算符

逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false

8.1 三元运算符

三元运算符格式:

数据类型 变量名 = 布尔类型表达式?结果1:结果2

三元运算符计算方式:

  • 布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量
  • 布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量

注意:

  • 必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
  • 三元运算符的结果必须被使用
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/924267.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号