JAVA基础
Java基础语法(面向过程)
改变程序执行顺序的情况:选择语句 循环语句 调用方法
关键字:被java语言赋予特定含义的单词;
标识符:
作用:标识符就是用来给包(package),类(class),方法(函数)变量命名
组成:1.Unicode(数字,大小写字母)
- 下划线
- 美元符号“$”
注意事项: 不能以数字开头
不能以关键字或true, false, null开头
命名规则:1.见名知意(命名要有意义)
- 包:就是一个文件夹,主要对文件进行分类
- 类:写Java 代码的文件
如果类名只有一个单词,首字母大写
如果类名有多个单词,那么每一个单词的首字母大写
- 变量,方法:如果变量名或方法名是一个单词,字母全小写
如果变量名或方法名十多个单词,首字母小写
从第二个单词的首字母开始所有单词的首字母全大写
注释:
概述:用于解释说明程序的文字
单行 // 多行 /* */ 文档/** */
数据类型
|
整数类型 |
Byte 1字节 |
Short 2字节 |
Int 4字节 |
Long 8字节 |
|
浮点型 |
Float 4字节 |
Double 8字节 |
|
|
|
字符型 |
Char 2字节 |
|
||
|
布尔型 |
Boolean 不确定 |
|||
变量
变量定义格式:数据类型 变量名=变量值(初始化数据)
常量
注意:常量名全部大写
变量和常量的区别?
常量的值不可更改 变量的值可以在一定范围内改变
常量格式的定义:
final 数据类型 常量名(字母大写)=值
运算符
三目运算符
|
运算符分类 |
运算符 |
|
自增 自减 |
++,-- |
|
加减乘 除 求 余 |
+,-,* ,/, % 算术运算符 |
|
赋值运算符 |
+=,-=,*=,/=,%= |
|
逻辑运算符 |
>,<,>=,<=,==,!=,&&,||,|,&,! |
&和&&的区别 关系运算符
- 他们的最终结果是一样的
- &&具有短路效果,如果左边为false,右边不执行
- &无论左边是true还是false右边都会执行
|和||的区别
- 他们的结果是一样
- ||具有短路效果,左边为true,右边不执行
- |无论左边为true还是false,右边都会执行
程序流程控制
选择语句
if(布尔表达式){
//如果布尔表达式为true ,就执行的语句
}
if(布尔表达式){
//如果布尔表达式为true ,就执行的语句
}
else{
//如果布尔表达式为false ,就执行的语句
}
if(布尔表达式){
}
else if{
}else if{
}
//
else{
}
分支语句
switch(变量){
case 值:
//语句
break;
case 值:
//语句
Break;
Default:
//语句
}
循环语句
while(布尔表达式){
//语句
}
当不知道循环次数 知道达到某个条件时结束
Do {
//语句
}while(布尔表达式);
For(初始化;判断语句;条件控住语句){
//执行语句
}
当明确知道循环次数时候使用 for循环
使用Scanner
- 导包 import java. util. Scanner; scanner
- 创建对象(实例化Scanner) S canner s c = new Scanner(System.in)
- 接受数据 int num = sc. next Int();
break:
用于循环中,结束当前循环
Continue:
用于循环中,跳过本次循环 ,继续下一次循环
Return:
运行到return结束方法, 返回结果
数组
为什么要学习数组?
目前为止,我们学习的所有数据的存储都是单个的
如果要求记住多个同一类型的数据。需要用到数组
数组:
能够存储多个变量的容器
这个容器中所存的变量的数据类型是一致的
特点:
这个容器中所存的变量的数据类型是一致的
按连续内存地址空间存放
数组长度一旦确定就不能更改
数组格式的定义:
- 数据类型 [ ] 数组名
- 数据类型 数组名 [ ]
数组的定义完成后,数组中是没有数据
初始化数组
在java中,数组必须初始化以后,才能够使用;
初始化就是为了在内存中开辟内存空间:
就是为数组元素分配内存空间,并且为每一个数组元素(数组中的多个变量)赋值
初始化类型
静态初始化: 给出初始化的值,长度由数组决定
数据类型[ ] 数组名 = new 数据类型[]{元素1,元素2,.....}
数据类型[ ] 数组名 ={元素1,元素2,.....}
动态初始化:只会指定长度,由系统初始化元素
数据类型[ ] 数组名 = new 数组类型[数组的长度]
左边:
数据类型:表示数组中元素保存的类型
[ ]:表示这是一个数组
数组名:数组的名字
右边:
new :为数组 在内存中分配空间
数组类型:数组中所有的元素的类型
[数组的长度]:数字表示数组的长度
数组是有长度的
数组有元素的位置:有下标(索引)
数组长度从1开始
数组下标(索引)是从0开始的
数组最后一个元素的下标:数组长度-1
数组的长度是固定的 不可更改
直接输出数组对象(变量),得到的不是数组元素 ;而是数组存储元素内存地址
栈 堆
变量、常量与数组的区别
变量、常量 存储一个数据 int[0]
数组存储多个数据
JVM内存划分的作用 int[1]
提高运算效率
堆 (存储的是new出来的对象) int[2]
栈 (存储局部变量)
方法区 (面向对象) int[3]
本地方法区(跟系统相关)
寄存器(是CPU使用) int[4]
Int[5]
Arrays . to String():作用:
将数组转换成为字符串输出打印:
创建一个新数组,将原数组中的值赋值给新数组.
向数组中添加一个元素:
将新的元素添加到新数组的最后一个位置;
将新数组改名:数组是一个变量,保存的是数组的难处地址,就是保存了整个数组的变量;
遍历:
对数组中的元素一次输出
基本数据类型和阴用数据的区别
基本数据类型
只有4类8种
基本数据类型的值存放在变量中
引用数据类型
不是关键字 是有程序员自定义的
变量中存放的是一个引用 ,指向真正存放值的空间。
random用来产生随机数
Math .random( )产生的随机数范围大于等于0,小于1 [0,1);
Double random = Math. random();
System. out . println (random);
二维数组
概述:
二维数组 就是一个元素为一个一维数组;
格式定义:
数据类型[ ][ ] 数组名;
数据类型数组名 [ ] [ ]; 只需要知道,不推荐使用
数据类型[ ]数组名 [ ]; 只需要知道,不推荐使用
初始化
数据类型[ ][ ] 数组名=new 数据类型[m][n]
数据类型[ ][ ] 数组名=new 数据类型[ ][ ]{
{元素1},
{元素2},
{元素3}
}
数据类型[ ] [ ] 数组名={
{元素1},
{元素2},
{元素3}
}
方法(函数)
方法(函数)
能够完成特定功能的代码块
在很多编程语言中都有对函数的定义,函数在Java中被定义为方法
方法的定义(Java基础 ) 下面括号内又叫参数列表
修饰符 返回值类型 方法名( 参数类型 参数名1,参数类型 参数名2,参数类型 参数名 3,.........参数类型 参数名n)
{方法体;
return 返回值;
}
方法中定义的变量通统称为参数 方法中可以调用方法的
l 方法格式的解释
修饰符:public,static,final
返回值类型:限定返回值的数据类型(范围:包含所有的数据类型)
方法名:方便使用者调用这个方法
参数类型:用于接收和调用方法时传入的数据类型
参数值:用于接收和调用方法时传入的数据变量
方法体:完成功能的代码块
Return:结束当前的方法 并将返回值返回给调用者
定义方法的注意事项
- 确定返回值类型
- 确定参数列表:明确参数的个数以及参数的类型明确完成某功能结果的数据类型
没有返回值,我们可以将返回值的类型定义为void。由于没有返回值,我们不需要return,
但也可以使用return,此时的return后面不能跟任何语句;
当调用void这类方法时,不能用变量获取返回值;
当调用这类方法时,没有参数时小括号不能省略
如果该方法不需要参数,并且没有返回值
注意参数为空,但是小括号必须存在
可变参数
参数都是int类型,参数的个数是不确定的
由于无法确定有多少个参数
所以系统会将所有输入的实参放在一个叫做a(编写人员自定义)的数组中
在同一个类中,不能出现两个一模一样的方法
假如方法名需要相同:java中提供了一个叫重载的方法
重载的特点:在同一个类中,方法名相同,参数列表不同(参数类型不同,参数个数不同),与返回值无关
Java中实参传递给形参只有值传递,如果实参是基本数据类型,方法里面的实参变量完全不影响方法外面的实参变量 ;如果是应用数据类型,方法里面的对形参的操作会影响到方法外面的实参
目前为止,所有的代码都是在main方法中执行的,一般将main方法称为测试方法
Java中被static修饰的方法和变量可以直接使用
类名.变量名 调用方法
类名.变量名 调用变量
递归:
自己调用自己。
基础进阶复习
一 :java是解释性语言
高级语言是针对操作系统的编程。
安全性的原因: 要交给字节码校验器校验
特点以下概述:
{ JOptionPane .show Input Dialog;输入语句
JOptionPane .show Message Dialog}输出语句
抽象: 抽取相同点和不同点
方法的作用:
- 功能的独立;
- 代码的重用.
形参:形参的本质是方法中定义的局部变量,其主要作用是接受实参的值。
实参:实参是给形参变量赋什么值,形参只能是变量,实参可以是变量可以是常量。
形参和实参需要保证:类型一致,个数一致,顺序一致。
如果一个方法有返回类型,那么该方法任何时候都必须有值的返回。
System .exit(0); 结束程序运行
数组的特点:
1. 数组是一段连续的内存空间,下标从0开始。最大下标为length-1.
2. 数组元素都是变量。变量的数据类型为数组声明的类型。
3. 数组元素在创建后,会自动完成初始化。Int ----0;double---0.0 ;引用------null(这些是这些类型的值)。
4. 数组创建后,长度不能改变。
数组下标第一个为什么是0?偏移量(相差几个元素, 偏移量就是几 。
浙公网安备 33010602011771号