java复习笔记day02

1.逻辑运算符:
&逻辑与、&&短路与、|逻辑或、||短路或、!逻辑非、^逻辑异或
2.从键盘获取不同类型的变量:
导包:import java.util.Scanner;
使用: Scanner input = new Scanner(System.in);//实例化对象
int a = input.nextInt();//使用

//输入测试
	Scanner scanner = new Scanner(System.in); 
	System.out.println("Input name please :");
	String name = scanner.next();
	System.out.println("name: "+name);
	
	System.out.println("Input age please :");
	int age = scanner.nextInt();
	System.out.println("name: "+age);
	
	System.out.println("Input weight please :");
	double name2 = scanner.nextDouble();
	System.out.println("name: "+name2);
	
	System.out.println("Input isMale please :");
	boolean isMale = scanner.nextBoolean();
	System.out.println("name: "+isMale);

3.选择逻辑说明:
如果多个条件表达式对应的范围是“互斥”关系,条件表达式谁上谁下都可以。
如果多个条件表达式对应的范围是“包含”关系,应该将范围小的写在范围大的前面。
4.switch 说明:
switch中的变量只能是如下的几个类型之一:byte short char int String(jdk 7.0 新增) 枚举类
5.从键盘输入中获取一个char:
Scanner input = new Scanner(System.in);
String str = input.next();
char c = str.charAt(0);
6.Eclipse 使用:
编码集:general-Workspace ,将:encoding改成UTF-8
修改字体:Genneral-colorandfont-basic
7.数组:
一维数组的内存解析:
数组名放在栈里面,数组元素放在堆里面一段连续的内存空间。赋值其实是对内容的一种覆盖。

public class Array {

	public static void main(String[] args) {
		//1.变量的声明
		int[] ids;
		//静态初始化:数组的赋值和数组元素的赋值同时进行。
		//变量的初始化
		ids = new int []{1,2,3,4,5,6,7}; 
		//声明和初始化
		int[] ids1 = new int[]{1,2,3,4,5,6,7};
		//动态初始化:数组的赋值和数组元素的赋值分开进行。
		String[] names = new String[3];
		//2.如何调用指定索引位置的数组元素:通过索引的方式。
		names[0] = "乔羽";
		names[1] = "金庸";
		names[2] = "琼瑶";
		//总结:不管是静态初始化还是动态初始化,一旦数组初始化完成,其长度就是确定的。
		
		//3.数组的长度,即为数组中元素的个数。可以使用length属性来获取。
		System.out.println(ids.length);
		System.out.println(names.length);
		//4.如何遍历数组
		for(int i = 0 ;i 

8.堆排序:
堆的定义:n个元素的序列{k0,k1,…,kn-1},当且仅当满足以下关系时,称之为堆:
ki <= k2i+1 且 ki <= k2i+2 称之为最小化堆。也称为小顶堆。
ki >= k2i 且 ki >= k2i+1 称之为最大化堆。 也称为大顶堆。
堆排序示例(以大顶堆为例)
1.建立初始堆(把放在数组里的元素的序列看成是一棵完全二叉树,对该二叉树进行调整,使之成为堆)
9.快速排序:
快速排序是迄今为止所有内排序算法中速度最快的一种。它的基本思想是:任取待排序序列中的某个元素作为标准(也称为支点、界点,一般取第一个元素),通过一次划分,将待排序元素分为左右两个序列,左子序列元素的排序码均小于基准元素的排序码,然后分别对两个子序列继续进行划分,直至每一个序列只有一个元素为止。最后得到的序列便是有序序列。

public class SortFast {
	public static void main(String[] args){	
		//快速排序测试
		int data[] = new int[]{0,5,3,3,8,65,8,9,6};
		quickSort(data);
		for(int i=0 ;istart && data[--j] - base >=0);
				if(i

你可能感兴趣的:(JAVA,java基础)