学习JAVA(一)

学习内容大纲

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JAVA简介

面向对象。
操作系统有windows.linux的,JVM java虚拟机,是实现java平台无关性的关键。
在这里插入图片描述
解释和执行的过程是由java虚拟机来完成的,把字节码文件解释成具体平台上的机器指令执行。
一次编译,到处运行。
在这里插入图片描述
在这里插入图片描述

jdk是面向开发人员的,jre是面向使用者的。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

JDK环境搭建

要想运行java程序,是需要安装JDK的。

在这里插入图片描述

在这里插入图片描述
JDK是oracle公司的产品。
在这里插入图片描述
JDK8这个版本,开发中普遍使用的版本,最常见最稳定的。
如下8u241版本号。
在这里插入图片描述

JDK为大家提供的案例的下载,如下,有兴趣可以下载。

在这里插入图片描述

在这里插入图片描述
windows下载上面的版本,如果需要账号登录,我们可以创建账号登录。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何查看JDK安装成功了没有

windows+r 输入cmd,输入如下java -version查看安装的版本
在这里插入图片描述
注意,printIn是小写的L,而不是大写的i.
在这里插入图片描述
在这里插入图片描述
一般情况下,把类名作为保存的文件的名字。

如何运行JAVA文件

在cmd中运行javac 文件名即可。但是如果报错javac不是内部或外部命令,那么我们要将javac加入到环境变量当中去。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择高级系统设置。

系统变量是全局生效的,用户变量是只对我当前用户生效的,我们一般设置用户变量即可。
在这里插入图片描述
在这里插入图片描述
正常如上运行javac后会出现一个class文件,也就是字节码文件。
在这里插入图片描述

关于环境变量的设置的第二种方法(使用java_home)

不过下面的截图其实不用放在系统变量里,在用户变量就足够了。
在这里插入图片描述
classpath
java的类在执行的时候,会去搜索这些类生成的字节码文件都在哪里。然后才能执行。
在早期的jdk版本中需要配置classPath的,现在高级的版本是不需要配置的
在这里插入图片描述
每次修改完java文件后,重新运行javac进行重新编译,重新运行java进行文件内容的执行。

Java程序的结构

类里面包含主方法。

在这里插入图片描述
主方法那行,只有args是可以变的,其他的都是固定的。
java的输出语句
main主方法是程序执行的入口。
程序代码是从主方法开始运行。

开发工具eclipse开发java程序

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
解压后双击exe文件,选择java文件存放的路径eclipse-workspace文件夹。(通过eclipse创建的工程会默认放在这个文件夹下)

关掉eclipse的欢迎界面,就是
在这里插入图片描述
在这里插入图片描述
java中使用包是为了内容的分类管理
因为在实际开发中不止一个类,有很多类,这些类的职责不同,要分放在不同的包下进行管理。
不同的包下可以创建同名的类,也是为了解决类的重名问题。
一般包的名字是域名的倒序。
比如我们是imooc.com的域名,那么我们的包名就是com.imooc
右键创建新的包,结果如下
在这里插入图片描述

在这里插入图片描述
包下右键创建新的class
在这里插入图片描述
在这里插入图片描述
bin目录下存放的是二进制的字节码文件。
我们编辑类文件后进行保存。
在这里插入图片描述
右键运行java程序

在这里插入图片描述
可以在控制台看到输出的结果。
在这里插入图片描述
代码编译报错信息的显示,在Problems面板中:
在这里插入图片描述
在这里插入图片描述
编译器就是javac 命令,会将.java的源文件编译成为.class的字节码文件。
在这里插入图片描述
.class为扩展名的叫做字节码文件。
.java为扩展名的叫做源文件。

java标识符

在这里插入图片描述
类名就是标识符,
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

变量

变量是存储在内存中的。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类的命名规则:首字母都要是大写的。

在这里插入图片描述

数据类型

在这里插入图片描述
在这里插入图片描述
1字节是8个二进制位。

字面值(变量值)

整型字面值和变量声明

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

浮点型字面值

整型的末尾什么都不写,表示int类型的字面值。
在这里插入图片描述
double类型的数据比float类型的数据大些,当把一个double类型的数据转换成float类型的数据的时候,是有可能出现数据丢失的情况的。
把int类型赋值给长整型(把表示数据范围小的字面值赋值给表示数据范围大的字面值,是允许的)
把float类型的数据赋值给double是可以的,但是把double类型的数据赋值给float是不可以的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如下,将整型赋值给浮点型,打印出来,发现自动给后面加了.0,变成了浮点型的数值。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在内存的栈中开辟int类型大小的空间,int类型占用4个字节,也就是32个二进制位的。
然后把100存储到开辟的空间中去。
我们可以把n看作是100所在的内存空间的别名。n就是代表100的。
所以如果后面有运算的话,我们直接用n去参与运算。
在这里插入图片描述

字符型字面值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如上,我们的结论是:整型和字符类型是可以互相转换的。
互相转换的参照依据就是我们的ASCII码表。可以把一个整型的数值根据ASCII表转换成其对应的字符数据。

char类型是2个字节表示的,也就是16个二进制位,表示的数据范围是0-65535 (2的16次方是65536),是没有负数的。
在这里插入图片描述
在这里插入图片描述

Unicode编码

因为ASCII码是美国提出的,所以主要是支持英文字母和特殊字符,但是对中文和其他语言是不支持的,所以为了支持世界上所有的字符集,那么我们就有了Unicode编码,

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
单引号引起的内容是字符,双引号引起的内容是字符串。
回车光标会回到这行的最开始,而换行是换到下一行。
在这里插入图片描述
双引号里写\t,相当于是只有一个字符的字符串。
在这里插入图片描述
字符本身是一个整型,单引号的时候,把字符都转换成整数了,然后进行了一个加法运算,所以得到27了。
而改成双引号,就成了字符串的连接了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类型转换

我们把int类型的数据赋值给长整型数据,
在这里插入图片描述
字符可以用整型表示,但是有数据范围,超出范围,就会报错,就会进行强制类型转换,但是强制类型转换会引起数据丢失。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实线表示无信息丢失的数据类型转换,虚线表示可能在转换过程中发生精度丢失。
按照箭头方向走的是自动类型转换,箭头反方向走的就是强制类型转换了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
如上,长整型有8个字节,单精度只有4个字节,那么把长整型的赋值给单精度的,会导致精度的丢失。

在这里插入图片描述

常量

常量有个命名规则,常量一般都是用大写字母去表示。
如果是两个单词组成的,就中间用下划线进行连接。
在这里插入图片描述
在java中,我们有时候会把字面值也叫做常量,实际上字面值是常量和变量实际的表示的数值,
字面值和final定义的我们都称为常量。

Java运算符

在这里插入图片描述
在这里插入图片描述
sum,num1,num2都是操作数;=,+都是运算符;
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

自增自减运算符

在这里插入图片描述
运算符放在前面:先自增/自减,后赋值;
运算符放在后面:先赋值,后自增/自减;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
只对一个操作数进行操作的运算符,如++,–,那么它是单目运算符。
加减乘除求余数,是对两个操作数进行操作的运算符,那么它是双目运算符。

赋值运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关系运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面框起来的两句是从键盘接收数据。

逻辑与运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为++在后面,所以先比较,再自增,这里比较的时候,n是3.
在这里插入图片描述
在这里插入图片描述

逻辑或运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

运算符的优先级

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

流程控制

在这里插入图片描述
在这里插入图片描述
if语句下,只有一条语句,那么大括号是可以去掉的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为了避免程序产生歧义,大括号是必须加上的。
如下图,就有了歧义,因为if是和最近的else一起的,所以框起来的是一组。
但是如果我们想让else和第一个if为一组的话,就得加上大括号来实现了。
在这里插入图片描述

Switch结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7.0是在之前的版本上加了一个String类型。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

循环结构

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

do-while循环

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意,do-while的执行顺序:
1.首先执行do中的内容,执行完成后,判断while是否符合条件,符合条件则继续执行do中的内容。
while的作用是什么,是判断要不要继续执行do中内容。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

for循环

表达式1:对循环变量定义,并初始化的表达式。
表达式2:循环条件的表达式。
表达式3:对循环条件进行改变的表达式。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
整个for循环是一个整体,所以n只在for循环内使用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果for循环没有表达式2,那么我们会认为,这个表达式2是true,将永远执行for循环体中的内容。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

嵌套循环

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例:求阶乘的累加和

发生溢出,数字太大,导致溢出,导致为负数了。
在这里插入图片描述
在这里插入图片描述

break语句和continue语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意如下,break只跳出了内层循环,但是不会影响外层循环的执行。
在这里插入图片描述
在这里插入图片描述

continue语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

程序调试

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
F5是运行到自定义方法的时候,会跳到方法里去执行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

多断点调试

按f8键,就直接从一个断点执行到下一个断点。
在这里插入图片描述
F11进行debug

总结

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值