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

Java基础day01

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

Java基础day01

1.Java的概述 1.1 Java的发展史

1995年5月23日,Java语言正式诞生

1997年2月18日,JDK1.1发布。

1999年6月,Sun公司发布Java的三大版本:标准版(Java SE)、企业版(Java EE)、微型版(Java ME)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RxJIfFqu-1648458595558)(image1.png)]

2004年9月30日,J2SE1.5发布,是Java语言发展史上的又一里程碑事件

2014年3月18日,Oracle公司发布了Java SE 8,这次版本升级为Java带来了全新的Lambda表达式

1.2 jdk、jre和jvm

面试题

jdk是java开发工具,包含jre+jvm

jre是Java运行环境,包含jvm+类库

jvm是java虚拟机

一次编程,到处运行。原理:就是依赖java虚拟机(jvm).

1.3 window常用的命令

1.快捷键 win+R 输入cmd

2.盘符切换 d: e: f:

3.指定到文件 cd D:Git cd… 回退到上一级目录cls

4.查看有哪些目录 dir

5.cls 清屏 exit 退出

1.4 下载安装jdk

注意:jdk都选择下一步下一步,默认安装jre

目录结构:

1.5 配置Java环境

步骤:右击此电脑==》属性==》高级系统设置==》环境变量按钮==》系统变量==》点新建按钮==》变量名:JAVA_HOME 变量值:C:Program FilesJavajdk1.8.0_144

选中Path双击==》新建输入%JAVA_HOME%bin 确定 ==》新建%JAVA_HOME%binjre

完成后查看Java版本

1.6 路径

绝对路径:带盘符的路径 C: D:

相对路径:相对于一个参照物

1.7 第一个HelloWorld
public class HelloWord{
	// 主程序  所有的程序入口
	public static void main(String[] args){
		
		System.out.println("HelloWorld");
	}

}

先cd 源文件路径 之后 输入javac命令对源代码进行编译,生成字节码文件

​ javac 源文件名.java

编译完后,在同路径下会生成字节码(.class)文件

​ java 源文件名

程序的运行过程:

分为两个时期:

第一个程序有可能几个错误:

A.找不到文件 文件扩展名隐藏了 也可能是文件名写错了

B.可能是单词拼写的问题 class写成Class String写成string System写成system main写成mian等

C.大括号的问题 少写大括号 (大括号是成对出现的)

D.中英文问题 分号、双引号、括号写成中文的形式

1.8 注释

作用:可以注释掉不用的代码,可以对代码进行解释

单行注释: //

多行注释

文档注释

2. Java语法格式 2.1 关键字

Java中一共有50个关键字,他们都是小写的,开发工具中用不同颜色标注的,不用去死记硬背,后面都会学习到。其中有两个是保留字goto、const,但是可以组合

2.2 常量

在程序运行中,其值是不发生改变的量。例如 int A = 10;

2.3 变量()

在程序运行中,在一定范围内,其值会发生改变的量。例如 int a = 10; a = 20; a = 30;

因为定义一个变量后,会在内存中开辟一小块区域,专门存放变量a

定义变量的格式:数据类型 变量名 = 初始值;

​ 1.定义变量时可以不初始化,但是当你使用变量时,一定要先赋值

​ 2.一行上可以定义多个变量,但是不建议 int a,b,c;

​ 3.一行代码以分号结束,后可以接着写,但是不建议

​ 4.变量只有申明一次数据类型

2.4 标识符

作用:给类、包、变量、常量和方法等起名字的

组成:由字母(52个字母a-z、A-Z)、数字、下划线(_)和美元$组成 a# %b @a 都是不合法

​ 1.不能是Java关键字 int int = 10;不合法

​ 2.数字不能开头 int a2 = 10;合法 int 2a = 10;不合法

命名规则:见名知意 Student.java Order.java addStudent()

​ 1.对包命名:最好把公司的域名倒过来,所有字母小写 com.taobao

​ 2.对类或接口命名(大驼峰命名):如果是一个单词,首字母大写,其余字母小写 Demo.java

​ 如果是多个单词,每个单词首字母大写,其余字母小写 DemoJava.java

​ 3.对变量或方法命名(小驼峰命名):如果是一个单词,全部字母小写 int sum = 10;

​ 如果是多个单词组成,从第二个单词开始,首字母大写,其余字母小写

​ int addSum = 10; int addAvgSum = 30;

​ 4.对常量命名:如果是一个单词,全部字母大写 int ADD = 10;

​ 如果是多个单词组成,也是全部大写,但是每个单词用下划线连接 ADD_SUM ADD_AVG_SUM

2.5 数据类型 (重点)

数据类型:基本数据类型和引用数据

计算机存储设备的最小信息单元比特位(bit)用字母b表示,而计算机最小的存储单元叫字节(byte)用字母 B表示

1B = 8 bit

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

字节型:byte 1字节 8位 取值范围-128~127

短整型:short 2字节 16位 取值范围-32768~32767

整型(默认):int 4字节 32位 取值范围-2147483648~2147483647

长整型:long 8字节 64位 后面要加L

单精度:float 4字节 32位 后面要加F或f

双精度:double 8字节 64位 后面要加D或d,可以不加

字符型:char 必须用单引号括起来 只能是一个字符 ‘a’ ‘A’ ‘0’

布尔类型:boolean 只有两个值true(对) 、false(错)

public static void main(String[] args) {
        // 定义byte类型  -128~127
        byte a1 = 10;
        // 定义short类型
        short a2 = 32767;
        // 定义int类型
        int a3 = 30;
        // 定义long类型
        long a4 = 50L;
        // 定义float类型
        float a5 = 3.14f;
        // 定义double类型
        double a6 = 3.14;
        // 定义char类型
        char a7 = '0';
        // 定义boolean类型
        boolean a8 = true;
        boolean a9 = false;
    }

注意:Java是强类型语言,严格区分大小写,严格定义数据类型的

2.6 类型转换

隐式转换(自动转换):由数据类型小的转成数据类型大的,之后参与运算

显示转换(强制转换):由数据类型大的转成数据类型小的,必须要申明大的数据类型

格式:小数据类型 变量名 = (小的数据类型)大数据类型

注意:不建议强制转换,可能会造成精度损失或溢出

3. 开发工具的安装

1.解压idea压缩包 到D盘或E盘(不要解压在文件夹里),打开bin文件夹,找到idea64.exe,之后双击出现

4. 运算符

4.1 算术运算符

​ / % ++ – * + -

 / :两个数相除取两个整数的商
 % :两个数相除取两个整数的余数  使用场景  判断这个数是否是整数  这个数是否是偶数或奇数
 ++:每次加1
 当++写在变量的前面时,先自增,后输出变量
 当++写在变量的后面时,先输出变量,后自增
public static void main(String[] args) {
        int a = 5;
        int b = 2;
        int sum = a + b;
        System.out.println(sum);
        int chu = a/b;
        System.out.println(chu);
        int yu = a%b;
        System.out.println(yu);

        System.out.println(a++);// 5
        System.out.println(a); // 6
        System.out.println(++b);// 3
        System.out.println(b);
        System.out.println("============================");
        int x = 2;
        int resutl1 = (x++)*4 ;
        System.out.println(resutl1);// 8
        int y = 2;
        int resutl2 = (++y)*4 ;
        System.out.println(resutl2);// 12
    }

4.2 赋值运算符

= += -= *= /= %=

public static void main(String[] args) {
        int a = 10; // 把整数10赋值给int类型变量a
        //a += 1;  // a = a + 1的简写
        a = a + 1; // 11 = 10 + 1
        a *= 2;//a = a * 2; //  22 = 11 * 2
    }

4.3 关系运算符

关系运算符 的结果都是布尔类型true、false
 ==  <=    >=    <    >   !=
public static void main(String[] args) {
        int a = 5;
        int b = 2;
        System.out.println(a==b);
        System.out.println(a>=b);
        System.out.println(a!=b);
    }

4.4 逻辑运算符

​ &:与、且 |:或 && || ^ !

| 、|| :只要有true,结果肯定是true. 见true则true

&、&& :只要有false,结果肯定是false 见false则false

^ 异 :两个相同是false 、:两个不相同是true

! 非 : !false=true

​ && || 具有短路效应 前面如果成立,在不影响结果的情况下,后面就不运行

​ & | 不具有短路效应,不管前面是否成立,后面都会执行

public static void main(String[] args) {
        int a = 6;
        int b = 5;
        int c = 4;
        System.out.println(a>b | b>c); // true | true = true
        System.out.println(ac); // false | true = true
        System.out.println(a>b | bb & b>c); // true | true = true
        System.out.println(ac); // false | true = false
        System.out.println(a>b & b3 || y++>5;
        System.out.println(result1); // true
        System.out.println(x); // 5  说明x已经自增过
        System.out.println(y); // 6  说明y++没有运行  短路了
        int xx = 4;
        int yy = 6;
        boolean result2 = xx++>3 | yy++>5;
        System.out.println(result2); // true
        System.out.println(xx); // 5  说明xx已经自增过
        System.out.println(yy); // 7 说明yy++已经自增过
    }

4.5 位运算符

​ 左移运算 << 左移n位,就是乘以2的n次方

​ x<<1 相当于 x*2

​ x<<2 相当于x*4

​ x<<3 相当于x*8

右移动运算 >> 右移n位,就是除以2的n次方

​ x>>1 相当于 x/2

​ x>>2 相当于x/4

​ x>>3 相当于x/8

4.6 三元运算符

格式:(关系运算符)?表达式1:表达式2 相当于if…else…

​ 如果关系运算符结果是true,取表达式1的值

​ 如果关系运算符结果是false,取表达式2的值

public static void main(String[] args) {
        // 需求: 比较两个整数是否相等  输出相等  不相等
        int a = 3;
        int b = 3;
        String result = (a==b)?"相等":"不相等";
        System.out.println(result);
        // 需求:判断三个数2,6,9的大小关系,打印输出三个数的最大值9
        int x = 2;
        int y = 6;
        int z = 9;
        int max = x;// 先假设第一数最大
        max = (max>=y)?max:y;
        max = (max>=z)?max:z;
        System.out.println(max);

    }

优先级:括号的优先级最高>算术运算符>赋值运算符>关系运算符>逻辑运算符>三元运算符

需求: 比较两个整数是否相等 输出相等 不相等
int a = 3;
int b = 3;
String result = (a==b)?“相等”:“不相等”;
System.out.println(result);
// 需求:判断三个数2,6,9的大小关系,打印输出三个数的最大值9
int x = 2;
int y = 6;
int z = 9;
int max = x;// 先假设第一数最大
max = (max>=y)?max:y;
max = (max>=z)?max:z;
System.out.println(max);

}
优先级:括号的优先级最高>算术运算符>赋值运算符>关系运算符>逻辑运算符>三元运算符

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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