java语法学习基础

java开发环境

java编译运行过程

编译期:java源文件,经过编译,生成.class字节码文件
运行期:JVM加载.class并运行.class
跨平台,一次编译到处使用。
jdk>jre>jvm

jdk

java开发工具包

jre

java运行环境

jvm

java虚拟机

变量

声明,初始化,使用

变量的使用

1)对变量的使用就是对它所存的那个数的使用
2)变量的操作必须与数据类型匹配
3)变量在用之前必须声明并初始化

变量的命名

1)只能包含字母、数字、_和$符,并且不能以数字开头
2)严格区分大小写
3)不能使用关键字
4)允许中文命名,但不建议,见名知意,“驼峰命名法”

基本数据类型

默认数值:

  • 整形(byte,short,int,long):0
  • 浮点型(float,double):0.0
  • 布尔型(boolean):false

byte

整形,1字节,-128~127,8位

short

整形,2字节,-32768~32767,16位

int

整形,4字节,-2147483648 ~2147483647 ,32位

long

整形,8字节,-9223372036854775808~9223372036854775807,64位

float

浮点型,4字节,32位,小数后要加F/f

double

浮点型,8字节,64位,常用

boolean

布尔型,1字节,true/false

char

字符型,2字节,16位
ASCII码:char(‘a’) = 97,char(‘A’)=65,char(‘0’)=48;

类型间的转换

1)两种方式:
自动类型转换:小类型到大类型
强制类型转换:大类型到小类型(可能会溢出或丢失精度)
2)两点规则:
整数直接量可以直接赋值给byte,short,char,但不能超出范围。
byte,short,char型数据参与运算时,系统先将其转换为int类型在运算

运算符

算术运算符

+,-,*,/,%,++,–

关系运算符

<,>,>=,<=,==,!= bollean类型

逻辑运算符

&&,||,! boolean类型

赋值运算符

=,+=,-=,*=,/=,%=

字符串连接运算符

“+”

条件/三目运算符

boolean?数1:数2
若为true,则为数1;若为false,则为数2

分支结构

有条件的执行某语句

if结构

1条路

if…else结构

2条路

if…else…if结构

多条路

switch…case结构

多条路,效率高,结构清晰,但是要求整数并相等的情况下使用。
java 1.7之后case语句后可以添加字符串。
default:所有case都不符合时执行
break:跳出switch

循环

反复多次执行一段相同或相似的代码

循环三要素

1)循环变量的初始化
2)循环的条件(以循环变量为基础)
3)循环变量的改变(向着循环的结束变)
循环变量:整个循环中反复改变的那个数

循环结构

while结构

先判断后执行,有可能一次都不执行

do…while循环

先执行后判断,最少执行一次

for循环

发生次数时用for循环

for( ; ; ) { 方法体 }
为死循环

中断和跳过

break

break可用于循环语句或switch语句
用于循环时,可使程序终止循环而执行循环后面的语句,常与条件语句一起使用。

continue

continue只能用于循环,其作用为i跳过循环体中剩余语句执行下一次循环

数组

相同数据类型的元素组成的集合

数组的定义

数据类型[ ] 数组名 = new 数据类型[ 数组的长度 ];

int[ ] arr与int arr[ ]两种写法均可
执行new语句时数组在堆中创建对象空间

数组的初始化

基本类型的数组创建后,其元素初始值:byte,short,int,long,char为0;float和double为0.0;boolean为false。
可以在数组声明的同时初始化:

int[ ] arr = {10,20,30};

可先声明后赋值:

int[ ] arr;
arr = {10,20,30};

数组的访问

数组的长度

数组名.length 可以获取数组的长度

int[ ] arr = new int [ ]{1,2,3,4,};
int len = arr.length;
System.out.println(“数组长度为:”+len);

上述代码输出结果为:数组长度为:4

下标访问数组元素

数组下标从0开始

int[ ] arr = new int [ ]{1,2,3,4,};
int temp = arr[2];//获取第3个元素—3

数组的遍历

遍历数组一般采用for循环,循环变量作为访问数组的下标,即可访问数组的每一个元素。

int[ ] arr = new int[10];
for(int i = 0; i < arr.length; i++) {
arr[i] = 100;
}

数组的复制

System.arraycopy

System.arraycopy(原数组,原数组起始位置,目标数组,目标数组起始位置,要复制的数组元素的数量)

int[ ] a = {10,20,30,40,50};
int[ ] b = new int[ 6 ];
System.arraycopy(a,1,b,0,4);
b[0] = 20; b[1] = 30; b[2] = 40;b[3] = 50; b[4] = 0;b[5] = 0;

Arrays.copyOf()

使用java.util.Arrays;类的copyOf方法可实现数组的复制
数组类型[ ] 数组名 = Arrays.copyOf(数组名,数组长度);
特点:数组长度小于原数组则进行截取;
数组长度大于原数组,则用0或null进行填充扩容。

数组的扩容

int[ ] a = {10,20,30,40}
a = Arrays.copyOf(a, a.length+1);
a = {10,20,30,40,0}

数组的排序

常用的排序方法:插入排序、冒泡排序、快速排序等。

Arrays.sort

int[ ] arr = {45,33,485,12,36};
Arrays.sort(arr);
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[ i ]);
}
输出结果:12,33,36,45,485

方法

方法用于封装一段特定的逻辑功能;
方法可以在程序中反复调用;
方法可减少代码重复,便于程序的维护。
一个方法最好只做一件事。

方法的定义

定义方法的五要素:修饰词、返回值类型、方法名、参数列表、方法体。

public static int sum(int num1, int num2){

}

方法的调用

方法可以有参也可以无参,有参可以使方法处理更加灵活。
方法调用结束后可以返回一个数据,称为返回值。
方法在声明时必须要指定返回值类型:

  • 若方法不需要返回值,可将返回值类型声明为void
  • 若方法需要返回值,将返回值类型声明为特定数据类型

void say(){ }
void say(String name){ }
int sum(int num1, int num2){ }

return语句

return用于有返回值的方法时,在结束方法后将数据返回给调用方。
对于返回值为void的方法,return可以结束方法调用。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值