大数据笔记5.8

while循环语句

格式:

基本格式

​ while(判断条件语句){

​ 循环体语句;

​ }

扩展格式

​ 初始化语句;

​ while(判断条件语句){

​ 循环体语句;

​ 控制条件语句;

​ }

大数据笔记5.8

例:猜0–1000的随机数

package cn.llhc.det01;

import java.util.Scanner;
public class WhileDemo {
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
int num =(int)(Math.random()*1000);//生成0-1之间的随机数字,再乘以1000就是0-1000之间的随机数
System.out.println(“请输入你要猜的数字:”);
int guess = sc.nextInt();
while(guess != num){
if(guess < num){
System.out.println(“猜小了”);
}else{
System.out.println(“猜大了”);
}
System.out.println(“继续猜:”);
guess = sc.nextInt();
}
if(guess == num)
System.out.println(“恭喜你猜对了!”);
}
}

大数据笔记5.8

格式:

基本格式:

​ do{

​ 循环体语句;

​ }while(判断条件语句);

例猜数字

package cn.llhc.det01;

import java.util.Scanner;

public class DoWhileDemo {
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
int num =(int)((Math.random()*1000)+1);//生成0-1之间的随机数字,再乘以1000就是0-1000之间的随机数
System.out.println(“被猜数字:” + num);
System.out.println(“请输入你要猜的数字:”);
int guess ;
do{
guess = sc.nextInt();
if(guess < num){
System.out.println(“猜小了”);
}else if(guess > num){
System.out.println(“猜大了”);
}
System.out.println(“继续猜:”);
//guess = sc.nextInt();
}while(guess != num);
if(guess == num){
System.out.println(“恭喜你猜对了!”);
}
}
}

大数据笔记5.8

数组

A、数组的概念:

​ 数组是存贮同一种数据类型多个变量的容器

​ 数组既可以存储基本数据类型,也可以存储引用数据类型

B、数组的定义格式:

​ 格式1:数据类型[] 数组名;

​ 格式2:数据类型 数组名[]

C、数组的初始化:

​ 必须先初始化,在使用

​ 初始化:数组中的数组元素进行分配内存空间

​ 并且为每一个数据元素进行赋值

​ 两种:

​ 1、动态初始化:初始化时,只指定数组长度,由系统来为数组分配初始值。

​ 2、静态初始化:初始化时,指定每一个数组元素的初始化值,由系统来决定数组的长度。

D、数组的访问

​ 通过(数组名.leng)来获取数组的长度(元素个数)

java 中的内存分配:

栈:

​ 内存的局部变量
局部变量就是定义在方法中的变量
使用完毕之后就会被释放,立即收回

堆:
		存储的是new出来的对象:实体;
		 每一个对象都是有地址值得;
		每一个对象的数值都是有默认值的

​ byte , short, ,long------0;

​ float, double-------0.0;

​ char------------------’\u0000’;

​ boolean-------------false;

​ 引用类型-----------null;

​ 使用完毕后,会在垃圾回收起空闲的时候,被回收。
方法区:
本地方法区:(和系统有关系)
寄存器:(给cpu使用的)

异常

数组越界异常

​ 访问了数组中不存在的索引

​ ArrayIndexOutOfBoundsException

空指针异常

	NullPointerException

​ 数组中的莹用没有指向对象,但是却在操作对象中的元素

冒泡优化版排序

package cn.llhc.det02;
import java.util.Scanner;
/**
 * 冒泡排序
 * 1、声明一个数组,存放八个元素
 */
public class SortedDemo {
	public static void main(String[] args){int[] arr = {11,2,31,14,25,15,45,55};
		bubbleSorted(arr);
	}
	public static void bubbleSorted(int[] arr){
	boolean isSorted;
	for (int i =0;i<arr.length;i++){//轮数
		isSorted = true;//假设剩下的元素已经排序好了
		for (int j =0;j<arr.length - 1 -i;j++){//每次都和下一个元素进行比较
			if(arr[j]>arr[j+1]){
				int temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
				isSorted = false;
				//一旦需要交换数组元素,说明剩下的元素没有排序好
			}
		}
		System.out.println("排序的趟数:" + i);
		if(isSorted){
			break;//如果没有发生交换,说明剩下的元素已经排序完毕。
		}
	}
	System.out.println("排序后数组:");
	for(int i = 0; i < arr.length; i++){
		System.out.println(arr[i]);
	}
}
}

大数据笔记5.8

上一篇:python while循环和for 循环


下一篇:python_day1