| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Java-Java基础—(1)基础语法 -> 正文阅读 |
|
[Java知识库]Java-Java基础—(1)基础语法 |
1、Java简单描述1.1Java语言背景计算机语言:人与计算机之间信息交流的一种特殊语言 Java语言:美国Sun公司在1995年推出的计算机语言 2009年,Sun公司被甲骨文公司收购,oracle官网即可https://www.oracle.com java语言的三个版本: ? JavaSE: (标准版),用于桌面应用的开发,是其他两个版本的基础 ? JavaME: (小型版),嵌入式电子设备的使用 ? JavaEE: (企业版),Web网站开发的使用 1.2 Java的跨平台性Java程序(*.java)并不是通过是直接运行的,Java编译器将Java源程序(*.java)编译成字节码文件(*.class文件),然后由Java的虚拟机(JVM)对字节码文件运行。 导致的在不同的操作系统下也可以使用同一个Java源文件。 在不同的操作系统下,只需安装与系统相对应的Java虚拟机即可实现java程序的跨平台运行。 1.3 JRE、JDKJVM,Java虚拟机 JRE,Java运行环境,包含了JVM和Java的核心类库(Java API) JDK,称为Java开发工具,包含了JRE和开发工具 总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。 1.4 JDK的下载与安装1.4.1 下载 JDK官网:http://www.oracle.com 注意:不同的操作系统,下载对应版本的JDK。 1.4.2 安装 简易安装,下一步即可。 默认安装路径在C:\Program Files下,为了日后的便捷使用,建议将Java的安装文件保存在一次,便于查找。 注意:安装路径使用纯英文目录(源程序代码对于实现汉字目录可能有部分偏差)。 1.4.3 JDK的安装目录
2.第一个Java源程序演示2.1使用DOS窗口命令操作1.打开cmd命令行窗口。(win+R,cmd); 2.cmd的操作指令
2.3HelloWord2.3.1Java源程序的运行流程示意首先,编写准确无误的Java程序。 其次,通过javac进行编译程序。 最后,通过java直接运行字节码文件。 2.3.2代码编写创建记事本编写下面代码,然后将文件名改为HelloWord.java。
2.3.3编译与运行使用cmd命令窗口,将其目录切换到HelloWord.java文件所在的目录,输入"javac Hello Word.java",会在该目录下得到一个字节码文件"HelloWord.class",然后再cmd命令窗口输入“java HelloWord”,则可以运行class文件,得到运行结果。 2.4代码解析public class HelloWord:固定格式,class为定义一个类,HelloWord为类名,而且要与文件前缀同名。 main:为主方法 System.out.println("HelloWord"):输出格式,会返回到命令窗口。 3.基础语法3.1注释注释可以用来对代码进行解释和说明,提高代码的可读性。 单行注释://这是注释 多行注释:/* ? ? ? ? ? ? ? ? ? ?多行注释 ? ? ? ? ? ? ? ? ? ? 多行注释 ? ? ? ? ? ? ? ? ? ?*/ 文档注释:/** ? ? ? ? ? ? ? ? ? ? ? ?文档注释 ? ? ? ? ? ? ? ? ? */ 3.2关键字关键字表示再Java中已经被赋予特定意义的单词 关键词的特点:全部小写 3.3常量
在Java中常量发分类: 字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、"abc"、"中国"等 ? 整数常量 整数,例如:-123、0、1234等 ? 小数常量 小数,例如:-23.45、1.25、567.89等 ? 字符常量 用单引号括起来的一个字符,例如:'A'、'a'、'1'、'大'等 ? 布尔常量 布尔值,表示真假,只有两个值true and false ? 空常量 一个特殊的值,空值,值为null 除空常量外,其他常量均可使用输出语句直接输出。 3.4数据类型3.4.1存储单元计算机存储设备的最小单元叫做"位(bit)",又称为"比特位"。 计算机中最基本的存储单元叫做“字节(byte)”; 1B(字节) = 8bit? ? ? ?1KB = 1024B? ? ? ?1MB = 1024KB 1GB = 1024MB? ? ? ? ? 1TB = 1024GB 3.4.2Java自带的数据类型Java中数据类型包括,基本数据类型和引用数据类型 基本数据类型:
应用数据类型在后期会介绍到,如String, Integer,等等。 3.5变量定义变量:数据类型 变量名=数据值; 在代码程序的运行过程中,变量的值,可以随时发生改变,前提是变量存在。 (变量的作用域 : 只在它所在的大括号中有效) 输出变量:System.out.println(变量名); 注意:尽量不要一行代码创建和赋值多个变量,会大大降低可读性。 修改变量的值:变量名=新值; 3.6定义变量容易出现的错误????????1.变量名必须独一使用,不可重复。 ????????2.在引用变量时,必须先进行变量的初始化。 ????????3.在long类型,赋值时,在数字末尾加L;在float类型,赋值时,在数字末尾加F。 3.7简单的键盘录入数据使用java自带的Scanner包,可以用来获取键盘的输入值。 创建Scanner对象:Scanner scanner = new Scanner(System.in); 获取键盘录入:int x = scanner.nextInt();? ? ? ?String y = scanner.nextLine(); 3.8标识符标识符用于类名,变量名,方法名,常量名等命名。 标识符的规则: ????????由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。 ?不能使用java中的关键字作为标识符。? 标识符对大小写敏感(区分大小写)。 标识符的命名规定: ????????小驼峰式命名:变量名、方法名;首字母小写,从第二个单词开始每个单词的首字母大写。 ? ????????大驼峰式命名:类名;每个单词的首字母都大写。 4.类型转换不同的数据类型时间是可以相互转换的。可以分为自动类型转换和强制类型转换。 4.1隐式转换(小转大)数据类型中占用字节数少的转为占用字节数多的,可以直接隐式转换。 从小到大:byte->short->int->long->float->double; ? ? ? ? ? ? ? ? ? ?char->int->long->float->double; 整数的默认类型为int类型,浮点数的默认类型为float类型。 注意:byte,shourt,char在进行运算时,均会转换为int类型,进行计算,最后结果也为int。 4.2强制转换(大转小)强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量; 如果有原数据有小数,则在转换后,小数直接省略。 4.3类型转换注意在强制转换的过程中,原数据大于新数据类型的最大取值,则会从新数据的最小值网上加,造成数据的错误。 5.运算符5.1算术运算符运算符的功能:对程序中常量和变量进行固定操作的符号 表达式:用运算符将常量和变量连接起来并且没有语法错误的语句
注意: ????????1.在进行算术运算的时候,如果运算符两侧都都是整数型,那么其结果就是整数型。如果有任何一方为小数型,则结果为小数型。 ? ? ? ? 2.char类型的进行“+”运算,进行ASCII码运算,如A+1,其结果为:66 ? ? ? ? 3.String类型的进行“+”运算,进行字符串拼接,其结果为新的字符串,如123+“ABC”,结果为:123ABC ? ? ? ? 4.若String类型的进行“+“运算,出现多个相邻的数字相加,则从左到右按照顺序,依次相加,如,1+2+”ABC“+3+5+6,结果为:3ABC356 5.2自增自减运算符
注意: ? ? ? ? 1.自增自减运算符既可以放到变量的前面,也可以放到变量的后面。 ? ? ? ? 2.++在前面:则先加1,再引用。++在后面:先引用,再加1。减法以此类推。 5.3赋值运算符该运算符是将变量经过运算符与后面的常量或者变量进行运算,最后将值赋值给变量。
注意:赋值运算符其中包含了强制类型转换。 5.4关系运算符关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。 关系运算符的结果为:true或false 如果表达式成立则结果为true,如果表达式不成立则结果为false 5.5逻辑运算符
注意:逻辑与、逻辑或、逻辑异或、逻辑非的运算过程中,会将运算符两侧的结果都得出来,最后进行比较。 5.6短路逻辑运算符
在短路逻辑运算符中,如果&&的左侧为false,那就不执行右侧,直接返回最后结果false;如果||的左侧为true,那就不执行右侧,直接返回最后结果true。 5.7三元运算符三元运算符表达式:关系表达式?表达式1:表达式2; 如果关系表达式结果为true,那执行表达式1;如果关系表达式结果为false,那执行表达式2。 6.流程控制6.1流程控制的分类? ? ? ? 1.顺序结构 ? ? ? ? 2.选择结构 ? ? ? ? 3.循环结构 6.2顺序结构????????按照代码的先后顺序,依次执行 6.3选择结构6.3.1if语句
注意:如果关系表达式结果为true,则执行语句体;如果关系表达式结果为false,直接跳过语句体
?注意:如果关系表达式结果为true,则执行语句体1;如果关系表达式结果为false,则执行语句体2
?注意:如果关系表达式1结果为true,则执行语句体1;如果关系表达式1结果为false,则判断关系表达式2,如果为true则执行语句体2,如果为false则判断下一条关系表达式。如果每个关系表达式都不成立,则执行最后一条语句体。 6.3.2Switch语句
switch语句的执行:通过计算表达式的值,然后与case后 值进行一一匹配。如果存在相匹配到的值,则执行case后面对应的语句体,然后通过break退出switch语句。如果未找到相匹配的值,则执行default后面的语句体,再通过break退出switch语句。 注意:case穿透,如果在表达式匹配case值的过程中,匹配到后,执行完语句体,未存在break语句,则会继续执行下面的语句体,直至遇到break退出switch语句。 6.4循环语句循环:在语句满足循环条件的情况下,就会执行循环体语句,直至循环条件不满足,则跳出循环语句。 6.4.1for循环
for循环执行顺序:初始化语句->条件判断语句->true->循环体语句->条件控制语句->条件判断语句->false->跳出循环。 初始换语句:可以用来标识循环开始的初始化设置。 条件判断语句:在判断语句返回true,则执行循环体语句;如果判断语句返回false,则跳出循环。 条件控制语句:用来控制循环是否能够继续执行。 循环体语句:循环过程执行的语句。 6.4.2while循环
while循环执行顺序:和for循环的执行顺序一止,但有时候可能条件判断语句为”true“,不断执行,退出循环的标准是循环体中存在break语句。 6.4.3dowhile循环
dowhile循环执行顺序:初始化语句->循环体语句->条件控制语句->条件判断语句->true->循环体语句->条件控制语句->条件判断语句->false->跳出dowhile循环 6.4.4三种循环的对比先判断:for循环、while循环 先执行:dowhile循环 在循环体中定义了变量,在跳出循环体之后再无使用权了,因为在循环体内的变量属于局部变量。 6.4.5循环控制语句break:跳出循环语句 continue:跳出当前循环语句 7.RandomRandom是java自带的一个类功能,类似于之前讲到的Scanner,Random可以用于产生随机数。
number的值可以是0-99的整数值,属于左包右闭。 8.IDEA的安装与使用8.1IDEA简介IDEA全称为IntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。 集成环境就是把代码编写,代码编译,代码执行,代码调试等等多种功能综合到一起的开发工具。 IDEA下载地址:https://www.jetbrains.com/idea/ 8.2 项目结构介绍project(项目)->module(模块)->package(包)->class(类) 8.3IDEA中常用的快捷键psvm+回车:快速写出main方法 sout+回车:快速写出输出语句 Alt+1:打开或者关闭工程目录结构 Alt+4:打开过着关闭控制台 Ctrl+D:向下复制一行 Ctrl+X:剪切当前行 Ctrl+Alt+L:格式化代码 Alt+Enter:修正代码 Ctrl+/:单行注释 Ctrl+Shift+/:多行注释 Alt + shift + ↑:上移行 Alt + shift + ↓:下移行 9.数组数组可以存放同一类型的多个数据 9.1数组的定义
9.2数组的动态化
?动态化定义后直接规定数组固定的长度,为不可变数组 9.3数组访问索引:成功的定义数组长度后,在调用某一个数组元素时,采用数组的索引调用,从0开始。
9.4静态初始化数组静态化初始化是在数组创建的过程中,给数组元素赋值。
9.5数组操作遇到的问题1.数组索引应该小于数组的长度,如果索引值大于等于数组长度则会抛出ArrayIndexOutOfBoundsException 数组越界异常。 2.若数组为空(空不代表数组的元素值为0,而是数组指向的地址为空),调用数组元素会抛出 NullPointerException 空指针异常。 9.6数组的遍历
9.7.二维数组
10.方法10.1概念方法是具有一定功能的已命名代码块。 10.2方法的定义和使用
注意:方法必须先定义,再调用,否则会报错 10.3带参方法的定义和使用
、
注意:调用方法使用的是实参,将实参的值传递给方法的形参中。 10.4有返回值方法的定义和使用
注意: ????????1.return返回的数据,其数据类型要与方法名前的数据类型一致。如果无返回值,则数据类型为void。 ? ? ? ? 2.方法内可以调用方法,但是方法内不能嵌套定义方法。 ? ? ? ? 3.void类型的方法中,最然没有返回值,但是可以使用return,退出方法。 10.5方法重载方法重载:在一个类中,定义相同名称的方法,但是方法的参数数量、参数类型不一致。在调用方法时,Java会根据参数的不同,自动的匹配想通过的方法。(方法重载与返回值无关,不能通过返回值来判定两个方法是否相互构成重载 ) 10.6参数的传递对于基本类型的传递,将实参的值传递给方法中的形参。方法结束后,并不会影响实参的值。 对于引用类型的传递,将实参的地址值传递给方法中的形参。方法结束后会影响实参的值。 11.进制11.1进制的格式? ? ? ? 十进制:Java中,数值默认都是10进制,不需要加任何修饰。 ? ? ? ? 注意: 书写的时候, 虽然加入了进制的标识, 但打印在控制台展示的都是十进制数据.
11.2原码反码补码 由于在计算机中,所有的数据都是以二进制补码的形式在进行运算,而补码是通过原码和反码得出的。 原码:将十进制直接转换为二进制,但是八位二进制中,首位标识数值的正负。 反码:正数的反码与原码相同;负数的反码与原码逐位相反,但符号位除外。 补码:正数的补码与原码相同;负数的补码为反码+1。 11.3位运算 & 位与 : 遇false则false, 遇0则0 | 位或 : 遇true则true, 遇1则1 ^ 位异或 : 相同为false, 不同为true ~ 取反 : 全部取反, 0变1, 1变0 ?(也包括 <<左移:左边符号位丢弃,右边补0 >>右移:右边符号位丢弃,左边补0 --------------------------------------------------------------------------------------------------------------------------------- 内容有部分存在书籍、课堂、网络记录,如有雷同纯属巧合 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/4 6:34:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |