Java编程入门

article/2025/11/8 23:03:24

Java编程入门

  • 初始Java开发
    • Java编程起步
    • JShell工具
    • CLASSPATH 环境属性
  • JAVA基本概念
    • 注释
    • 标志符与关键字
  • JAVA数据类型划分
    • JAVA数据类型简介
    • 整型数据类型
    • 浮点型数据
    • 字符型数据
    • 布尔数据
    • String 字符串
  • Java运算符
    • 运算符简介
    • 数学运算符
    • 关系运算符
    • 逻辑运算符
    • 位运算
  • Java程序逻辑控制
    • If 分支结构
    • switch分支语句
    • while循环
    • for循环
    • 循环控制
    • 循环嵌套
  • 方法的定义与使用
    • 方法的定义
    • 方法重载
    • 方法的递归调用

本文章仅作为学习Alibaba Java 技术图谱的学习笔记,欢迎大家交流学习

初始Java开发

Java编程起步

java程序是需要经过两次处理后才可以正常执行的:

  • 对愿代码程序进行编译:Java Hello.java,会出现又一个Hello.class的字节码文件,(利用JVM进行编译,编译出一套与平台无关的字节码文件(*.class)
  • 在JVM上进行程序的解释执行:Java hello (解释的就是字节码文件,字节码文件的后缀是不需要编写的)
public class Hello{public static void main(String[]args){System.out.println("HelloWorld");}
} 

代码解释:
1.类

  • Java开发中最基础的是类,所有程序都必须封装在类中执行,类的基本定义:
    [public】 class 类名称 {}
  • 类的定义有两种形式:
    1. public class 类名称 {} :类名称必须与文件名保持一致,但一个*.java文件里面只允许有一个public class定义
    2. class 类名称 {}:类名称可以与文件名称不一致,但编译后的*.class名称是class定义的类名称,解析的时候要求解析的是生成的*.class文件名称,在一个*.class文件里面可以由多个class定义,并且编译之后会形成不同的*.class
    3.

2.主方法

  • 主方法是所有程序执行的起点,并且一定要在类之中。Java主方法定义:
[public] class 类名称
{public static void main(string[] args){代码由此开始}
}

3.屏幕打印(系统输出),有两类语法形式:

  • 输出之后追加换行(ln(换行))
	System.out.println(输出内容)
  • 输出之后不换行
	System.out.print(输出内容)

注意:

  • 在项目开发是,很少会出现一个*.java源代码里面定义有多个class 的情况,所以一般只有一个public class类就够了。
  • Java在定义类名称时要求每一个单词首字母都要大写

JShell工具

Shell是脚本程序的含义,很多编程语言为了方便使用者进行代码的开发,都会有Shell交互式编程环境。无论解决什么问题,Java都必须编写很多结构代码,但有时有时只是为了进行一些简短的程序验证,所以为了解决这个问题,Java提供有jshell指令,直接运行即可。除此之外,也可以将一些内容直接交由一些文件来进行保存
在这里插入图片描述
总结:使用Jshell的最大好处是只需要编写核心结构的代码即可,减少了对结构化的需求,使用“ / exit ”语句便可以退出交互式界面

CLASSPATH 环境属性

当设置了CLASSPATH之后,这个时候在JAVA程序解释的时候会自动通过CLASSPATH所设置的路径进行类的加载,所以可以得出一个结论:JVM解释程序时需要得到CLASSPATH的支持,而CLASSPATH默认设置为当前所在目录加载类文件。

一般来说CLASSPATH应该采用默认设置方式,否则会造成系统混乱。

如何从当前所在路径加载类:

SET CLASSPATH=.

面试题:path和CLASSPATH的区别?
path:是操作系统提供的路径配置,定义所有可执行文件的路径
ClASSPATH: 是由JRE提供的,用于定义JAVA程序解释时类加载路径,默认设置的为当前所在目录,通过“SET CLASSPATH=路径”的命令形式来进行定义。

关系
JVM------>CLASSPATH定义的路径------>加载字节码文件

JAVA基本概念

注释

JAVA中有三种注释方法:

  • 单行注释://
  • 多行注释:/* ……*/
  • 文档注释:/**……*/ (文档里面注释里面还需要很多的选项,一般建议通过开发工具控制)

如果在以后使用开发工具开发时,还是单行注释会方便些。而对于一些重要的类或者是方法都建议使用文档注释

标志符与关键字

对于结构的说明实际上就是标志符,是有命名要求的,一般都要求有意义的单词所组成,同时对标志符号的组成在JAVA中的定义如下:

由字母、数字、_、$组成,其中不能使用数字开头,不能使用JAVA的保留字(关键字)

一般最简单的定义形式:使用英文字母开头,例如:Student_Name

JAVA数据类型划分

JAVA数据类型简介

JAVA中对于数据类型一共分为两类:

  • 基本数据类型:描述的是一些具体的数字单元,例如:1、2.1

    • 数值型:
      a.整型:byte、short、int、long —>默认值:0
      b.浮点型:float、double —>默认值:0.0
    • 布尔型:boolean —>默认值:false
    • 字符型:char —>默认值:‘\u0000’
  • 引用数据类型:牵扯到内存关系的使用
    重点有三种:数组、类、接口 —>默认值:null

对于选择何种数据类型的参考类型:

  • 如果要是描述数字首选:int、double
  • 如果要进行数据传输或者进行文字编码转换使用byte类型(二进制)
  • 处理中文时候最方便的操作使用的是char
  • 描述内存或文件大小、描述表的主键列(自动增长)可以使用long

整型数据类型

整型数据一共有四种,按照保存范围由小到大:byte、short、int、long,java中整型常量都是int型(只要是整数就是int型数据)

任何数据类型都是有其可以保存的数据范围的(正常使用下很少会出现超出其范围),但超出后会发生什么呢?

int max=Integer.MAX+VALUE;//获取int最大值
int min=Integer.MIN_VALUE;//获取int最小值
system.outpritln(max);    //2147483647
system.outpritln(min);    //-2147483648
//int型变量+int型常量=int型计算结果
system.outpritln(max+1);  //-2147483648, 最大值+1=最小值
system.outpritln(max+2);  //-2147483647, 最大值+2=此最小值
//int型变量-int型常量=int型计算结果
system.outpritln(min-1_;  //2147483647,  最小值-1=最大值

通过执行代码可以发现,若数字在进行处理时如果超过类其最大的保存范围时,就会出现循环,在Java被叫做数据溢出。
解决数据溢出的方法:

  • 在操作时预估数据范围,如果发现范围不够就是用更大范围
//long long变量=int的数值
long max=Integer.MAX+VALUE;//获取int最大值
long min=Integer.MIN_VALUE;//获取int最小值
system.outpritln(max);    //2147483647
system.outpritln(min);    //-2147483648
//long型变量+int型常量=long型计算结果
system.outpritln(max+1);  //-2147483648, 最大值+1=最小值
system.outpritln(max+2);  //-2147483647, 最大值+2=此最小值
//long型变量-int型常量=int型计算结果
system.outpritln(min-1_;  //2147483647,  最小值-1=最大值
  • 也可以在常量上进行处理,默认的常量都是int型,那么可以为他追加字母“L”或使用(long)
long max=Integer.MAX+VALUE;//获取int最大值
long min=Integer.MIN_VALUE;//获取int最小值
system.outpritln(max);    //2147483647
system.outpritln(min);    //-2147483648
//int型变量+long型常量=long型计算结果
system.outpritln(max+1L);  //-2147483648, 最大值+1=最小值
system.outpritln(max+2L);  //-2147483647, 最大值+2=此最小值
//long型变量-int型常量=int型计算结果
system.outpritln((long)min-1_;  //2147483647,  最小值-1=最大值

注意不是必须的情况下,一般不进行类型转换

byte类型的范围为-128~127,若整型常量赋值给byte变量时,没有超过这个范围,其会自动转换,但对于变量则还是必须使用强制转换处理

浮点型数据

浮点型数据描述的是小数,而在Java里面任意小数常量其对应的类型都是double

所有数据类型进行自动转型时都是由小类型向大类型进行自动转换

public class JavaDemo{public static void main(String[]args){float x=(float) 10.2;int y=10.1F;System.out.println(x*y);}
} 

字符型数据

在任何编程语言,字符都可以与int进行互相转换,即字符中所描述的内容可以通过int获取其内容对应的系统编码。

public class JavaDemo{public static void main(String[]args){char c='A'int num=cSystem.out.println(num);}
} 

注意

  • 大写字母范围:A(65)~Z(90)
  • 小写字母范围:a(97)~z(122)
  • “数字范围”:‘0’(48)~‘9’(57)

与C语言不同,Java中的char 类型可以保存中文数据,原因是Java使用的是unicode这种十六进制,主要特点是可以包括任意的文字内容,使得程序开发更加简单

public class JavaDemo{public static void main(String[]args){char c='人'int num=cSystem.out.println(num);}
}

布尔数据

布尔描述的是一种逻辑的处理结果,在java中布尔类型的取值只有两个数据true、false,没有0和1这种表示方式。

public class JavaDemo{public static void main(String[]args){boolean flag=true;if(flag){System.out.println('我很帅,很年轻');}}
} 

String 字符串

Java中使用的是String作为字符串的定义,由于string类较为特殊,所以可以像普通变量那样直接赋值的方式进行字符串定义,并且要求使用“”进行字符串描述

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

在进行字符串变量时也可以用"+"来进行字符串连接

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

但需要考虑“+”有两种作用,一种是字符串的连接,另一个是数字相加。

public class JavaDemo{public static void main(String[]args){double x=10.1;int y=20;String str="计算结果"+x+y;System.out.println(str);}
} 

执行后得不到我们想要的结果,原因是在Java中范围大的数据类型与范围小的数据类型进行计算时,所有范围小的数据类型自动转型为大的,但是有String字符串了,则所有的类型无条件变为String,如果有“+”则变为字符串的相加。
转义字符:tab(\t) 、" (\ ") 、’ ( \ ')、换行(\n)

Java运算符

运算符简介

运算符即对数字的处理
其实运算符优先级不需要去背,要用的时候懂得如何去查就好了,你只需要记住括号的优先级最高。

具体的可以参考Java运算符优先级排序

数学运算符

Java中数学运算都提供了标准的支持,包括四则运算。

在进行变量计算时,编程语言一般提供有简化的运算符(+=、*=、)

“++”或“–”用法:

  • ++变量、–变量:先进性变量的自增或自减,而后再进行数字的计算
  • 变量++、变量–:线使用变量进行计算,而后在进行变量的自增与自减

关系运算符

关系运算符主要特征就是进行大小的比较处理,包括:大于(>)、小于(<)、大于等于(>=)、小于等于(<=)相等(==)。所有关系远算符返回结果都是布尔类型的数据。

在进行关系远算时可以针对所有的基本数据类型,例如:可以直接使用字符串

public class JavaDemo{public static void main(String[]args){char c='建'boolean flaga==24314==c;System.out.println(flag);}
} 

数据类型之间提供有转型支持,所以在进行判断时字符会自动转为int型

逻辑运算符

三目(赋值)运算符,是需要设置一个逻辑关系的判断之后才可以进行的赋值操作

public class JavaDemo{public static void main(String[]args){int x=20;int y=30;int max=x>y ? x:y;System.out.println(max);}
} 

三目运算符也可以支持嵌套处理,但程序的可读性变得很差,根据实际情况确定

位运算

指的是进行二进制数据的计算处理,主要有:与(&)、或(|)、异或(^)、反码(~)、移位操作
面试题: 请解释&和&&、|和||的区别?

  • &和|两个运算符都可以进行位运算与逻辑运算
    a.在进行逻辑运算市所有的判断条件都要执行
    b.在进行位运算时只是针对当前的数据进行与和或处理
  • 在逻辑运算上还可以使用&&、||
    a.&&:在若干个条件判断时,如果前面的条件返回了false,后续所有的条件都不再判断,最终的结果就是false
    b.||:在若干个条件判断时,若果前面的条件返回了true,后续条件不再执行,最终为true

Java程序逻辑控制

程序开发中一般会有三种程序逻辑,顺序结构,分支结构,循环结构

If 分支结构

主要针对于关系表达式进行判断处理的分支操作。对于分支语句主要有三种使用形式,使用关键词:If、else

if(布尔表达式)
{条件满足时执行
}
else if()
{条件满足时执行
}
else
{条件不满足时执行
}

switch分支语句

switch是一个开关语句,主要是根据内容来进行的判断,需要注意的是switch中可以判断的是数据(int、char、枚举、string)
,而不能使用逻辑判断,语法如下

switch(数据)
{case 数值:{数值满足时执行;[break]}case 数值:{数值满足时执行;[break]default:所有判断数值不满足时执行;[break]}

**注意:**如果你在每一个case后面没有追加break语句,则程序会一直运行到switch后续代码执行完毕或遇见break

while循环

有两种表达方式:

while(布尔表达式){条件满足时执行;修改循环条件;
}
do
{条件满足时执行;修改循环条件;
}while(布尔表达式);

while循环与do…while循环的最大区别:
while循环是判断后执行,而do…while先执行一次后判断呢。

for循环

for(定义循环的初始化数值;循环判断;修改循环数据){循环语句的执行;
}

对于while和for循环选择的参考标准:

  • 明确确定循环次数,优先选择for循环
  • 不知道循环条件但是知道循环结束条件的情况使用while循环

循环控制

break和continue

break跳出循环,而continue结束当前循环

循环嵌套

在一个循环语句中嵌套其他的循环语句就称为循环嵌套处理,循环嵌套层次越多,时间复杂度越高
例:乘法表

public class JavaDemo{public static void main(String[]args){for(int x=1;x<=9;x++){for(int y=1;y<=x;y++){System.out.println(y+"*"+x+"="+(x*y)+"\t");}System.out.pritln();//换行}}
} 

例:打印三角形

public class JavaDemo{public static void main(String[]args){int line=5;for(int x=0;x<line;x++){for(int y=0;y<line-x;y++){System.out.print(" "};}for(int y=0;y<=x;y++){System.out.prit("* ");//换行}System.out.println();}}
} 

方法的定义与使用

方法的定义

public static 返回值类型 方法名称([参数类型 变量……]){//方法执行的代码[return [返回值(基本数据类型、引用数据类型)]]
}

注意:
方法名称与变量的定义命名要求:进行方法名称定义时要求第一个单词的字母小写,而后每个单词首字母大写;进行变量定义时要求第一个单词的字母小写,而后每个单词首字母大写

方法重载

定义:当方法名称相同时,参数的类型或个数不同时就成为方法重载

public class JavaDemo{public static void main(string args[]){int resultA=sum(10,20);int resultB=sum(10,20,30);double resultC=sum(10,20,30);System.out.println("假发执行结果: "+ resultA)System.out.println("假发执行结果: "+ resultB)System.out.println("假发执行结果: "+ resultC)}public static int sum(int x,int y){return x+y;}public static int sum(int x,int y,int z){return x+y+z;}public static int sum(double x,double y){double x+y;}
}

注意:
方法重载与方法的返回值类型没有任何关系,只跟参数有关系,但一般定义方法返回值与参数的类型相同

方法的递归调用

递归调用即自己调用自己的情况。

  • 一定要设置方法递归调用的结束条件
  • 每一次调用的过程一定要修改传递的参数条件。
public class JavaDemo{public static void main(string args[]){System.out.println(sum(100))}public static int sum(int num){if(num==1){return 1;}return num+sum(n-1);}
}

能看到这里都是真爱,觉得还不错的话点个赞呗,若有任何问题欢迎在评论区与我交流


http://chatgpt.dhexx.cn/article/3MdTqExY.shtml

相关文章

JAVA基础入门学习编程

第一章 使用记事本编写一个HelloWorld程序&#xff0c;并在命令行窗口编译运行&#xff0c;并打印输出结果。 public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!!");} } 第二章 1、请编写程序&#xff0c;实…

学习Java编程入门书籍

《Head First Java》 《Head First Java》被亚马逊评为十大好书之一。在京东计算机类书籍中热度排名第16位&#xff0c;在Java类书籍中排名第2位。豆瓣评分为8.8分&#xff0c;有百分之54.4%的读者给出了五星评价。在知乎社区中有来自无数位的大神做推荐。哪本书适合推荐给 Ja…

初学者怎么学习java编程

1。java是分为三个主要方向&#xff1a; CS架构&#xff08;java SE&#xff09;。BS架构&#xff08;java web&#xff09;。java手机开发&#xff08;java ME&#xff09;&#xff0c;非Android开发。 &#xff08;1&#xff09;、java CS架构&#xff08;客户端/服务器&am…

Java 学习(一)Java语言基础

Java 语言基础&#xff08;一&#xff09; 前言一、注释和标识符1. 注释2. 字符集3. 标识符4. 关键字(略) 二、数据类型1.基本类型2.引用类型 三、 常量和变量1.常量2.变量 四、操作符1.赋值运算符2.算术运算符3.关系运算符4.逻辑运算符5.位运算符6.三位运算符7.instanceof运算…

怎么学习Java编程,Java初学者指南

怎么学习Java编程&#xff0c;Java初学者指南。Java基于C和C。第一个Java编译器是由Sun Microsystems开发的&#xff0c;是使用C中的一些库用C编写的。Java文件使用编译器转换为位代码格式&#xff0c;然后由Java解释器执行。Java代码在Java虚拟机(JVM)—运行时环境上运行。 J…

9.1 Python 绝对路径与相对路径

第九章 文件的读写操作 9.1 Python 绝对路径与相对路径 9.1.1 准备工作 第1步&#xff1a;对照下图&#xff0c;新建文件和文件夹&#xff1a; 1.在桌面新建文件夹&#xff0c;命名为file。 2.在file文件夹中新建2个文件夹&#xff0c;分别命名为a_file&#xff0c; b_file。…

绝对路径、相对路径详解

绝对路径、相对路径详解 一、概括二、绝对路径、相对路径2.1 Linux文件路径分析2.2 Maven项目路径分析2.2.1、项目路径 二、如何精确查找到资源文件2.1、本地资源文件2.2、网络资源文件2.2.1、先来解释 两个名词&#xff1a;URI 、URL2.2.2、URI 标准格式2.2.3、URI 与 URL 区别…

相对路径和绝对路径及表示

一、介绍 相对路径&#xff0c;它以当前的文件作为一个起点去查找另外的一个文件的所在位置。绝对路径是从电脑盘符或者域名开始的一个完整的路径。绝对路径是可以描述一个文件其各层目录的完整结构。 符号及其符号所代表的意义如下&#xff1a; ./&#xff1a;表示当前的文件…

绝对路径、相对路径、根路径

今天探讨一下浏览器和服务器中的绝对路径、相对路径和根路径 浏览器中 对于浏览器而言&#xff0c;是无法知道服务器中&#xff0c;文件目录路径的。因为浏览器获取的文件资源&#xff0c;很可能跟服务器中文件资源目录不对应。而服务器是知道每个文件和资源在具体的哪个位置…

c/c++ 绝对路径与相对路径

电脑硬盘C盘Program Files下&#xff0c;建新项目“test”&#xff0c;"test"下建立子文件夹“file”和头文件"data.h"&#xff0c;"file"下建新建文件“data.cpp”, 电脑资源管理器显示目录 C:Program Files\test\file\data.cpp 1. 相对路径 …

【详解】绝对路径和相对路径

通俗易懂&#xff1a; ①绝对路径&#xff1a; 在计算机中找到文件的位置&#xff0c;计算机表示文件位置的方式是路径。描述计算机完整的文件位置的路径称为绝对路径&#xff0c;如C:/website/web/a.html&#xff0c;这样我们通过这个路径找到文件的位置。在网站中&#xff0c…

7、绝对路径和相对路径

我们在使用 HTML 中的 <a> 标签、<img> 标签、<link> 标签以及 <script> 标签时往往会涉及到路径。例如 <a> 标签&#xff0c;如果我们在写路径时&#xff0c;使用了错误的路径&#xff0c;就会导致跳转失败&#xff0c;为了避免这种情况&#x…

Java中的绝对路径和相对路径

绝对路径和相对路径&#xff1a; 绝对路径&#xff1a; 绝对路径名是完整的路径名&#xff0c;不需要任何其他信息就可以定位它所表示的文件。&#xff08;注意&#xff1a;文件路径不能出现中文字符&#xff0c;否则可能会报错&#xff09; 相对路径&#xff1a; 在IDEA环境中…

Linux中的绝对路径和相对路径

回到顶部 一、介绍 1&#xff0c;文件路径 什么是文件的路径&#xff1f; 答&#xff1a;这个文件存放的地方&#xff0c;可以联想为 文件的“家”。 在Linux中&#xff0c;存在着绝对路径和相对路径 绝对路径&#xff1a;路径的写法一定是由根目录 / 写起的&#xff0c;例…

最最基础的干货:Linux中的绝对路径和相对路径

路径是Linux中最基本的概念之一&#xff0c;这是每个Linux用户都必须知道的。 路径是Linux中最基本的概念之一&#xff0c;这是每个Linux用户都必须知道的。 路径是指文件和目录的引用方式。它给出了文件或目录在 Linux 目录结构中的位置&#xff0c;由名称和斜杠组成。 /ho…

文件名 绝对路径与相对路径

EGE专栏&#xff1a;EGE专栏 目录 1. 文件路径1.1 DOS路径的构成1.1.1 卷号或驱动器1.1.2 目录名称1.1.3 文件名 1.2 当前目录 (Current directory)程序中当前目录的获取 1.3 切换盘符&#xff08;驱动器跳转&#xff09;1.4 设置当前目录1.4.1 驱动器的当前目录如何查看各驱动…

【软考学习14】绝对路径和相对路径的区别和联系

本文讲解文件存储中绝对路径和相对路径的区别和联系。简单来讲&#xff0c;绝对路径是把文件所在的完整路径逐一标识出来&#xff0c;相对路径是对某个目录的参考路径&#xff0c;在实战项目的开发中&#xff0c;相对路径会使用的多一些&#xff0c;绝对地址可以用于开发调试环…

python绝对路径和相对路径

今天记录一下python绝对路径和相对路径的问题 提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、绝对路径二、相对路径三、如何查看当前所在目录 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可…

python的绝对路径和相对路径

一、绝对路径 一个文件的真实位置&#xff0c;根据这个路径层级可以找到这个文件即绝对路径。在wins上可以通过shift 鼠标右键调出来该文件的绝对路径&#xff0c;shift建按住不要松。 二、相对路径 相对路径即相对于当前的工作文件夹&#xff0c;你的路径是什么。 【绝对路径…

关于绝对路径与相对路径(详细)

绝对路径与相对路径总结&#xff08;详细&#xff09; 绝对路径与相对路径1 绝对路径1.1绝对路径&#xff08;盘符&#xff09;1.2绝对路径&#xff08;网址&#xff09; 2 相对路径2.1 相对路径(平级)2.2 相对路径(上一级)2.3 相对路径(下一级) 绝对路径与相对路径 在页面布局…