• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Java基础 学习笔记1

java 来源:sosalt8 9次浏览

前言:如果你之前学过C/C++语言,那么对于此部分内容可快速浏览,因为它们的很多地方都是相似的。
1.核心概念
JVM:JAVA虚拟机
源文件(食材)->编译器(菜刀)->字节码文件(切好的食物)->解释器(炊具)->完成
JDK:JAVA开发工具包
JRE:JAVA运行环境。
当安装完JDK以后,实际上就已经有了JRE和JVM。

2.使用记事本编写java程序
a.新建记事本文件,重命名为HelloWorld.java(需要在记事本显示扩展名为.txt时重命名,否则重命名结果就会变成HelloWorld.java.txt)
b.编写源文件,保存文件在磁盘根目录,便于编译,执行
c.编译
开始键搜索框输入cmd进入控制台,输入X:回车(X代表源代码文件保存的位置,如D或者D/Java等等),再输入dir可以查看源文件是否存在此于目录。
输入javac HelloWorld.java回车,没有错误的话,与源文件同目录下会生成一个名为HelloWorld.class的字节码文件,编译阶段完成。
d.执行
控制台输入java HelloWorld回车(切记没有.class后缀),结果显示“welcome to imooc !”,执行成功。
注意:
扩展名:计算机->菜单工具->文件夹选项->查看->隐藏扩展名前的勾去掉即可。
public class跟的名字必须与文件名相同。

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

3.编码流程(使用IDEA)
a.创建java项目:java project (src 是存放源代码文件)
b.创建程序包:src目录下右击建(package程序包)
创建程序包的目的是便于程序的管理,便于源代码文件的管理。我们可以将不同的源代码文件放到指定的包下面,避免重名问题。
一般包名为为域名的反向,例如com.imooc
c.编写java源程序:package目录下右击建(class源代码文件)
d.运行java程序:源文件空白处右击选择run 运行成功

4.Java标识符
标识符就是用于给 Java 程序中变量、类、方法等命名的符号。
使用标识符时,需要遵守几条规则:
a.标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法的。
b.标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以。
c.标识符是严格区分大小写的。 所以,一定要分清楚 one 和 One 是两个不同的标识符哦!
d. 标识符的命名最好能反映出其作用,做到见名知意。

5.变量
在 Java 中,我们通过三个元素描述变量:变量类型、变量名以及变量值。
例如,我们定义了一个变量 love ,用来保存一个字符串 “imooc” , 在程序中只要找到了 love 这个变量,就能找到存储在里面的 ”imooc”!当然,我们也可以把 love 里面的值更换成新的字符串 “i love imooc” !

运行结果:

6.变量的命名方式
a.变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
b.变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息
ps:Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量哦!

7.Java中的数据类型
Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。
Java 中有两类数据类型:


需要注意的是:

String 是一种常见的引用数据类型,用来表示字符串。在程序开发中,很多操作都要使用字符串来完成,例如系统中的用户名、密码、电子邮箱等。

8.Java中变量使用规则
Java中变量的使用规则
a.Java 中的变量需要先声明后使用
b.变量使用时,可以声明变量的同时进行初始化
c.变量中每次只能赋一个值,但可以修改多次
d.main 方法中定义的变量必须先赋值,然后才能输出
e.虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等

9.强制类型转换
当程序中需要将 double 型变量的值赋给一个 int 型变量时,这种转换是不会自动进行的,因为 int 型的存储范围比 double 型的小,此时就需要通过强制类型转换来实现了。

运行结果:
75.8
75
可以看到,通过强制类型转换将 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。

10.Java常量的应用
所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。
语法:final 常量名 = 值;

程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 “男”,在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。
注意啦:常量名一般使用大写字符

11.Java中的注释
在编写程序时,经常需要添加一些注释,用以描述某段代码的作用。
一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上。
Java 中注释有三种类型:单行注释、多行注释、文档注释。

12.算术运算符
算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。
Java 中常用的算术运算符:

其中,++ 和 – 既可以出现在操作数的左边,也可以出现在右边,但结果是不同的。

运行结果:


运行结果:

自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8– 等写法都是错误的!
PS:% 用来求余数,也称为”取模运算符“。

13.赋值运算符
赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。
Java 支持的常用赋值运算符,如下表所示:

14.比较运算符
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。
Java 中常用的比较运算符如下表所示:

注意哦:
a. > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型

b. == 、 != 两边的操作数既可以是数值类型,也可以是引用类型

15.逻辑运算符
逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:

当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。

譬如:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 啦。

同理,在( one > two ) || ( one < three ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要再进行右侧的 one < three 的执行啦!

16.条件运算符
条件运算符( ? : )也称为 “三元运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值。

17.运算符的优先级

PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。例如:

结果为24

18.条件语句之if
语法:

执行过程:

注意哦:如果 if 条件成立时的执行语句只有一条,是可以省略大括号的!但如果执行语句有多条,那么大括号就是不可或缺的。

19.条件语句之if…else
语法:

执行过程:

20.条件语句之多重if
多重 if 语句,在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码。
语法:

执行过程:

21.条件语句之嵌套if
嵌套 if 语句,只有当外层 if 的条件成立时,才会判断内层 if 的条件。
语法:

执行过程:

22.条件语句之switch
当需要对选项进行等值判断时,使用 switch 语句更加简洁明了。
语法:

执行过程:当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default 块的代码。
例如:

需要注意的是:
a.switch 后面小括号中表达式的值必须是整型或字符型
b.case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2
c.case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束。如:

运行结果:

d.可以把功能相同的 case 语句合并起来,如:

e.default 块可以出现在任意位置,也可以省略。

23.循环语句之while
语法:

执行过程:
a.判断 while 后面的条件是否成立( true / false )
b.当条件成立时,执行循环内的操作代码 ,然后重复执行a、b, 直到循环条件不成立为止。
特点:先判断,后执行。

23.循环语句之do…while
语法:

执行过程:
a.先执行一遍循环操作,然后判断循环条件是否成立
b.如果条件成立,继续执行a、b,直到循环条件不成立为止
特点: 先执行,后判断
由此可见,do…while 语句保证循环至少被执行一次

24.循环语句之for
语法:

执行过程:
a.执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次。
b.进行循环条件的判断,如果条件为 true ,则执行循环体内代码;如果为 false ,则直接退出循环。
c.执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断
d.依次重新执行b,c,d,直到退出循环
特点:相比 while 和 do…while 语句结构更加简洁易读。
注意:
for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值,如:

运行结果:

24.循环跳转语句之break
在 Java 中,我们可以使用 break 语句退出指定的循环,直接执行循环后面的代码。

25.循环跳转语句之continue
continue 的作用是跳过循环体中剩余的语句执行下一次循环。

26.注意:System.out.println是换行的, System.out.print不换行。

27.如果想从控制台输入数据:
import java.util.Scanner;// 导入包(这一步在package下方完成)
Scanner input = new Scanner(System.in);// 定义对象
int score = input.nextInt(); // 获取用户输入
例如:
input.next();//获取String类型数据
input.nextDouble();//double类型
input.nextInt();//int类型


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)