JavaSE内容

基础语法

数据类型

数据名称类型字节(位)
byte整数1 (8)
short整型2 (16)
int整型4(32)
long整型8(64)
folat浮点单精度4(32)
double浮点双精度8(64)
char字符型2(16)
boolean布尔型1

附件:string不是基本数据类型,spring的长度受内存大小影响

变量

定义格式: 变量类型 变量名 = 值;
变量分类
成员变量 局部变量 静态变量

.成员变量局部变量静态变量
定义位值在类中,方法外方法中,或者方法的形式参数在方法中,方法外
初始化值有默认的初始化值无,先定义,赋值后才能使用有默认的初始化值
调用方式对象调用----对象调用,类名调用
存储位置堆中栈中方法区
生命周期与对象共存亡与方法共存亡与类共存亡
别名实例变量----类变量

小结:尽管三者的本质都是变量,可是使用时却有相当大的区别,稍不留神就可能陷入陷阱.且先记住:在一个类中,如果变量能够用来描述一个类的属性,那就定义为成员变量,否则,它就应该定义为局部变量,而如果一个一个变量在全局都能够使用(某个内容是被所有对象所共享),那么我们就可以把真个变量用static来修饰,即为静态变量

运算符

算术运算符

操作符描述
+加法 - 相加运算符两侧的值
-减法 - 左操作数减去右操作数
*乘法 - 相乘操作符两侧的值
/除法 - 左操作数除以右操作数
取余 - 左操作数除以右操作数的余数
++自增: 操作数的值增加1
自减: 操作数的值减少1

关系运算符

操作符描述
==检查如果两个操作数的值是否相等,如果相等则条件为真。
!=检查如果两个操作数的值是否相等,如果值不相等则条件为真。
>检查左操作数的值是否大于右操作数的值,如果是那么条件为真。
<检查左操作数的值是否小于右操作数的值,如果是那么条件为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
<=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。

位运算符

操作符描述
如果相对应位都是1,则结果为1,否则为0
|如果相对应位都是0,则结果为0,否则为1
^如果相对应位值相同,则结果为0,否则为1
按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
<<按位左移运算符。左操作数按位左移右操作数指定的位数。
>>按位右移运算符。左操作数按位右移右操作数指定的位数。
>>>按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。

逻辑运算符(重点)

操作符描述
&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。
| |称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。

赋值运算符

操作符描述
=简单的赋值运算符,将右操作数的值赋给左侧操作数
+ =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数
- =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数
* =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数
/ =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数
(%)=取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数
<< =左移位赋值运算符
>> =右移位赋值运算符
&=按位与赋值运算符
^ =按位异或赋值操作符
|=按位或赋值操作符

————————————————

三元运算符

格式: 关系表达式 ? 表达式1 : 表达式2;

案例:三个和尚比身高
在这里插入图片描述

流程控制语句

顺序结构

		程序中最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行

选择结构

三种格式的基本用法

//第一种
	if (关系表达式) {
    语句体;	
}


//第二种
	if (关系表达式) {
    语句体1;	
} else {
    语句体2;	
}


//第三种
	if (关系表达式1) {
    语句体1;	
} else if (关系表达式2) {
    语句体2;	
}else {
    语句体n+1;
}

注意事项
当关系表达式为false是,大括号中的语句不会执行
if第二种格式和三元运算符的区别?
三元运算符是对某个数据的值进行判断, if语句第二种格式是对两个结果进行判断,输出一个结果或者一条执行语句 ,
三元运算符能够使用的if语句一定能够使用,但是if语句能够使用的三元运算符不一定能够使用

switch
	基本用法
		switch (表达式) {
	case 1:
		语句体1;
		break;
	case 2:
		语句体2;
		break;
	...
	default:
		语句体n+1;
		break;
}
case穿透
	如果switch中得case,没有对应break的话,则会出现case穿透的现象。

循环结构


	  for (初始化语句;条件判断语句;条件控制语句) {
	循环体语句;
}

在这里插入图片描述


while (条件判断语句) {
	循环体语句;
    条件控制语句;
}
	

在这里插入图片描述


//不常用,了解就行
do {
	循环体语句;
	条件控制语句;
}while(条件判断语句);

演示代码:public class DoWhileDemo {
    public static void main(String[] args) {
        //需求:在控制台输出5次"HelloWorld"
		//for循环实现
		for(int i=1; i<=5; i++) {
			System.out.println("HelloWorld");
		}
		System.out.println("--------");
		//do...while循环实现
		int j = 1;
		do {
			System.out.println("HelloWorld");
			j++;
		}while(j<=5);
    }
}

三种循环的区别
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行),
do…while循环是先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

for循环和while的区别?

1.条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
2.条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

死循环:


1. for(;;){}
2. while(true){}
3. do {} while(true);

控制跳转语句

名称作用
break跳出循环,结束循环
continue跳出本次循环,继续下次循环

随机数

Random的基本使用
1.导包 import java.util.Random;
2.创建对象 Random r = new Random();
3.产生随机数 int num = r.nextInt(10);

解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随机数则是0-19

import java.util.Random;
public class RandomDemo {
	public static void main(String[] args) {
		//创建对象
		Random r = new Random();
		//用循环获取10个随机数
		for(int i=0; i<10; i++) {
			//获取随机数
			int number = r.nextInt(10);
			System.out.println("number:" + number);
		}
		//需求:获取一个1-100之间的随机数
		int x = r.nextInt(100) + 1;
		System.out.println(x);
	}
}
案例:猜数字
程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
A. 如果猜的数字比真实数字大,提示你猜的数据大了
B. 如果猜的数字比真实数字小,提示你猜的数据小了
C. 如果猜的数字与真实数字相等,提示恭喜你猜中了

import java.util.Random;
import java.util.Scanner;

public class RandomTest {
	public static void main(String[] args) {
		//要完成猜数字的游戏,首先需要有一个要猜的数字,使用随机数生成该数字,范围1到100
		Random r = new Random();
		int number = r.nextInt(100) + 1;
		
		while(true) {
			//使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现
			Scanner sc = new Scanner(System.in);
			
			System.out.println("请输入你要猜的数字:");
			int guessNumber = sc.nextInt();
			
			//比较输入的数字和系统产生的数据,需要使用分支语句。
             //这里使用if..else..if..格式,根据不同情况进行猜测结果显示
			if(guessNumber > number) {
				System.out.println("你猜的数字" + guessNumber + "大了");
			} else if(guessNumber < number) {
				System.out.println("你猜的数字" + guessNumber + "小了");
			} else {
				System.out.println("恭喜你猜中了");
				break;
			}
		}
		
	}
}

键盘录入

1.导包 导入java.util包
2.创建scanner对象 Scanner sc = new Scanner(System.in);// 创建Scanner对象,sc表示变量名,其他均不可变
3.接受数据 int i = sc.nextInt(); // 表示将键盘录入的值作为int数返回。

import java.util.Scanner;
 
class Into {
    public static void main(String[] args) {    
        //创建键盘录入数据
        Scanner sc = new Scanner(System.in);
        System.out.println("x:");
        int x = sc.nextInt();//输入为整数
        System.out.println("你输入的数据是:"+x);
    }
 
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值