Java入门之基础语法(第一周)

本文详细介绍了Java开发工具包JDK的安装,包括JVM和JRE的区别。接着,通过一个HelloWorld示例,讲解了Java程序的基本结构。还讨论了解决在DOS环境下记事本编码问题的方法,以及一些常用的DOS命令。此外,文章涵盖了Java中的数据类型、命名规范、运算符等基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

JDK的简介以及安装

Helloworld入门

解决记事本入门HelloWorld乱码问题

常用DOS命令

JDK安装目录文件夹以及文件的介绍

java系统环境变量的配置

        两种方法

关键字

标识符

命名规范

什么是常量?常量的分类

数据类型以及分类

进制转换

什么是变量以及变量定义的注意事项

算术运算符

赋值运算符

扩展的赋值运算符

关系运算符

逻辑运算符

三元运算符

扩展的算术运算符

键盘录入数据的步骤和使用

流程语句_顺序结构

选择语句_if

     if语句的三种格式


JDK的简介以及安装

JDK:是java开发工具包,包含了JVM(Java虚拟机)和JRE(Java运行环境)

JVM:Java假想出来的虚拟机 ,javac用来将源代码(.java文件)编译为.class后缀的字节码文件, JVM是用来加载和运行.class字节码文件的。

JRE:Java的运行环境和核心类库 包含JVM,但不包含JDK测试器和其他工具。

总结:JDK包含JRE 和 JVM

JRE包含JVM

Helloworld入门

1>在JDK的lib文件夹下创建.txt文本文档

2>编写代码

class HelloWorld{ /*class是"类"的关键字,类名尽量和txt文件名相同 注意:类名首字母要大写(命名规范)) */ public static void main(String[] agrs){ /* JVM可以调用的Java函数*/ System.out.println("字符串"); /*打印语句,只有"XX"内可以改动*/ } }

3>保存文件并吧后缀.txt改为.java

4>D: 切换到D盘

cd D:\Development\development_software\Java\JDK_8\bin 进入JDK/bin文件夹下

javac HelloWorld.java 进行预编译

java HelloWorld 打印字符串

解决记事本入门HelloWorld乱码问题

win10默认DOS为GBK也就是ANSI格式(一个中文对应两个字节) 而记事本为UTF-8(一个中文对应三个字节)

所以需要吧两者格式统一即可解决问题

而win11DOS则默认为UTF-8 和 记事本统一 就不会乱码

常用DOS命令

盘号:                                 盘符切换

dir                                     查看当前文件夹                        

cd \文件夹                        进入文件夹命名

cd..                                   退出文件夹命令

cd\                                    退出到磁盘根目录

cls                                     清屏  

copy con         创建文件

del         删除指定文件

del *.txt                批量删除文件

md         创建文件夹(目录)

rd         删除目录(目录为空)

rd /s         询问是否删除目录(可以不为空)

rd /s /q         强制删除目录

JDK安装目录文件夹以及文件的介绍

java系统环境变量的配置

两种方法

此电脑----->右键属性----->高级系统设置----->环境变量----->系统变量path右键编辑----->JDK/bin目录所在位置

此电脑----->右键属性----->高级系统设置----->环境变量----->系统变量新建----->变量名:JAVA_HOME 变量值:JDK所在目录----->系统变量path右键编辑----->%JAVA_HOME%\bin

建议用②:安全 稳定

因为第一种JDK修改要编辑变量path的值,有可能删除重要的环境值

第一种在后边Tomcat服务器的时候第一次启动可能会闪退从而导致服务器启动失败

path以及classpath的运行过程

path环境变量首先会在当前目录(指定目录)去找有没有xxx.java文件,如果有直接编译运行,如果没有,再去path设置里边的路径找(%JAVA_HOME%\bin)

classpath则先从设置的路径找,如果有,直接编译运行,如果没有,会在当前目录找。

关键字

关键字就是Java内定了一些特定的符号,有特殊含义的标识;

class void public final this.......

保留字: goto 、const

标识符

标识符就是给定义的包、类、接口、方法、变量、常量起名字

起名做到四个字 见名知意

标识符规范

可以是0-9数字

可以是字母大小写

可以是&或者_

不可以是关键字和保留字

不可以是数字开头

不可以是其他特殊符号

严格区分大小写

命名规范

当然起名要做到起名规范(阿里规范)

类/接口:“大驼峰”

如果是一个单词:第一个字母大写 eg:Demo

如果是多个单词:每个单词首字母大写 eg:MiddleStudents

方法/变量:“小驼峰”

如果是一个单词:单词全部小写 eg:method

如果是多个单词:第一个单词全部小写,第二个单词开始首字母大写 eg:applePrice

常量:

如果是一个单词:所有单词大写 eg:PAI

如果是多个单词:第一个单词全部大写,用_将后边单词依次连接 eg:YUAN_ZHOU_LV

什么是常量?常量的分类

常量就是程序中不变的量(固定值)

分类

    1. 字面值常量 字符常量 字符串常量
    2. 整数常量 100
    3. 小数常量 3.14
    4. 布尔常量 true/false
    5. 空常量 null
    6. 自定义常量

数据类型以及分类

  1. 基本数据类型
    1. 整型 byte (1字节) short(2字节) int(默认)4字节 long(8字节)
    2. 浮点型 float (4字节) double (8字节)
    3. 字符型 char(1字节)
    4. 布尔型 boolean(1字节)
  2. 引用数据类型

                数组 ……

进制转换

2进制 由0、1组成

8进制 由0、1、2、3、4、5、6、7组成

10进制 由0、1、2、3、4、5、6、7、8、9组成

16进制 由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成

二进制 1000 1111 转换为 8 10 16进制

2进制转8进制 3位一体划分 不够往前补0 010 001 111 2 1 7

2进制转10进制 8421码 依次相加 1000 1111 128+8+4+2+1=143

2进制转16进制 4位一体划分 不够往前补0 1000 1111 8 F

反之除以2求余数 余数反着写即可

什么是变量以及变量定义的注意事项

变量就是在程序中随着操作改变的量

定义变量的三要素

数据类型 变量名 = 初始值;

注意事项:

定义变量不要超过数据类型的承受范围!

定义long型变量 需要在初始值后边加L/l

定义float变量需要在初始值后边加F/f

隐式转换

short byte char 参与运算则优先提升为int

显示转换(强制转换)

指的是大的数据类型转为小的数据类型

举例: byte参与运算时默认提升为int,不可以用byte接收,如果要接收就要强制吧(a+b)的结果转为byte型

byte a = 10;

byte b = 20;

byte c = (short)(a + b) ;

算术运算符

基本的算术运算符:+、-、*、/、%

/运算符 默认取整(java是强类型语言)

%运算符 求余数

赋值运算符

基本赋值运算符:=

int x = 10 ; //将10的值赋给变量x

扩展的赋值运算符

+=、-=、*=、/=、%=

将=右边的值和数据左边的变量操作

int x = 20 ;
x += 10 ;         //等价于 x = x +10 ;(前提条件:类型一致)
System.out.println("x的值是"+x)

下边代码1和2那个会编译失败

// 举例说明
 short s = 1 ;
 s = s + 1 ;   //1
 s += 1;       //2

1会编译失败 因为 是的数据类型为 short 而赋值运算符后边的 s+1操作后会提升为int型(byte、short、char在参与运算时,默认提升为int型!)

所以改正方法

s = (short)s + 1 ;

2会编译通过,且 s = 2;

原因:扩展运算符在参与运算的时候隐藏了强制类型转换! s += 1 等价于 s = (short)s+1;

关系运算符

==、!=、、=

这些符号连接的表达式的结果都是:boolean值!

==不是赋值运算符!

==在基本数据类型中,是比较两个值是否相等

逻辑运算符

&、|、!、^、&&、||

基本的逻辑运算符:

逻辑与 &

:具有并列条件,所有表达式必须同时满足,才可以成立!

特点:有false则falese

逻辑 |

:具有或的关系,表达式中只要有一个为true,结果就为true!

特点:有true,则为true

逻辑异或 ^

:条件表达式中,需要一个为true,一个为false,结果为true!

特点:可以用男女来比喻……同性相斥(false),异性相吸(true)

逻辑!

:与表达式取反

特点:!true 则为false !false则为true

偶数个数!还是它本身 !!true 还是true

逻辑双与 &&

:和逻辑单与&的作用一样,但是具有短路效果

如果表达式左边为false则逻辑双与&&不执行表达式右边的语句

而逻辑单与&左边为false还要执行表达式右边的语句//效率低

逻辑双或 ||

:和逻辑单或|的作用一样,但是具有短路效果

如果表达式左边为true,则逻辑双或||不执行表达式右边的语句

而逻辑单或|左边为false,还要执行表达式右边的语句 //效率低

三元运算符

(表达式) ? 1语句 : 2语句;

执行顺序:

  • 表达式的类型要为boolean
    • 判断表达式是否成立,true则执行1语句
    • 否则执行2语句

扩展的算术运算符

a++ 、a--、++a、--a

单独使用:

++或者--在数据的后边 举例:a++;

++或者--在数据的前边

总结:单独使用的时候,无论在数据的前边还是后边,都是自增1/自减1

参与运算:

++或者--在数据的前边

int a = 10 ;
int b = 15 ;
int c = (++a)+(--b) ;    //11+14
System.out.println("c")  // 25

++或者--在数据的后边

int a = 10 ;
int b = 20 ;
int c = (a++)+(b--) ;    //10+15
System.out.println("c")  // 25

总结:

在参与运算时,++或者--在数据之前,则为先自增/自减,再运算

在参与运算时,++或者--在数据之后,则为先运算,再自增/自减

键盘录入数据的步骤和使用

  1. 第一步 导包 import java.util.Scanner;
  2. Scanner sc(起名) = new Scanner(System.in);
  3. sc.nextInt(); //一般在调用sc方法前先提示用户输入
    import java.util.Scanner;
    
    public class CompareScanner {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入第一个整数:");
            int a = sc.nextInt();
            System.out.println("请输入第二个整数:");
            int b = sc.nextInt();
            System.out.println("请输入第二个整数:");
            int c = sc.nextInt();
            int temp = a>b ? a:b;
            int max = temp > c ? temp:c;
            System.out.println("三个数中的最大值为"+max); 
        }
    }

    流程语句_顺序结构

    顺序结构语句

    从main方法进入,代码从上到下依次执行:

    下边的代码最后执行结果为:

    1

    2

    class Demo{
        public static void main(String[] agrs){
            System.out.println("1") ;
            System.out.println("2") ;
        }
    }

    选择语句_if

         if语句的三种格式

                     a.

    if(条件表达式){
        语句;        //如果表达式为true,则执行此语句!
    }

                    b.

    if(条件表达式){
        语句;        //如果表达式为true,则执行此语句!
    }

               c.

    if(条件表达式1){
        语句1;                    //如果表达式1为true,则执行语句1
    }else if(条件表达式2){
        语句2;                    //如果表达式2为true,则执行语句2
    }else if(条件表达式3){
        语句3;                    //如果表达式3为true,则执行语句3
        ...
        ...
        ...
    }else{
        语句n;                    //如果表达式1-n 都为false,则执行语句n
    }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值