Java基础入门

  • eclipse中的快捷键
    https://blog.csdn.net/chengly0129/article/details/49248881
  • Switch用法

switch语句,case后值相对应,则输出每个后面的syso;如果输入的不是case后的值,则需要一个default,吧所有不符合的值输出一个syso。

. do-while语句和while的区别

  • do-while语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。其实就是,代码在刚开始执行的时候,都是要先走一遍do循环体内的代码,然后在与while里面的条件进行判断,成立循环就一直继续下去,不成立就跳出循环。循环体内代码至少被执行一次。(肚子饿了,看到吃的先狂吃一顿,直到被发现了,就闭嘴停不吃了)
  • while语句是属于前测试循环语句,也就是说,在循环体内的代码被执行之前,就会对出口条件求值。其实就是先与while里面的条件进行判断,成立就走循环体内的代码,不成立就不走循环体内代码。循环体内的代码有可能永远不会执行。(肚子饿了,先问一下能不能吃东西,同意了就狂吃,直到不允许吃为止,不同意,就忍着忍着忍着不吃走了…)

**-

  • break和continue区别https://zhidao.baidu.com/question/136303942.html

**

break直接跳出循环,所在的循环直接结束。
continue是在本次迭代中(本次循环中)结束本次迭代,并返回到判断语句,继续执行循环。
**

  • 函数(又叫方法)https://blog.csdn.net/ryj359/article/details/75197356

**
函数是具备特定功能的一段代码块,解决了重复性代码的问题。
目的是为了提高程序的复用性和可读性。
函数的参数传递
(1).形式参数:函数定义时的参数为形式参数------>简称形参
(2).实际参数:函数调用时的参数为实际参数 ------>简称实参
参数传递:只能有实参传给形参
注意:实参和形参在个数、顺序、类型上都要保持一致.
**

  • 一个数开平方:

**
Math.sqrt(2.0); //对2开平方
Math.pow(9.0, 1.0/3.0); //对9开三次方,开其他次方依次类推

sqrt函数原型:
public static double sqrt(double a)
作用是返回正确舍入的double值的正平方根。
参数a的各种取值得到的结果:
1、如果参数是 NaN 或小于零,那么结果是 NaN。
2、如果参数是正无穷大,那么结果就是正无穷大。
3、如果参数是正零或负零,那么结果与参数相同。
否则,结果是最接近该参数值的真实数学平方根的 double 值。

pow函数原型
public static double pow(double a, double b)
作用是返回a的b次幂,详情请参考java api

  • for循环 可以命名

outer:for(定义变量;布尔表达式;变量递变){
inner:for(定义变量;布尔表达式;变量递变){
循环语句;
}
} //这里就给外边的for循环命名为outer,内部的命名为inner

这样的好处就是break时,可以通过名称执行哪个for循环的终止跳出。

  • 哥德巴赫猜想(利用函数):

任何一个大于6的偶数都能被分解为两个质数的和,要求随 机输入一个大于6的偶数,打印它能被分解为哪两个质数的 和。
例如:8 = 3+5 、 12 = 7+5 、 18 = 11+7

public static void main(String[] args) {
		int a=opp();
		obb(a);
	}	
		public static int opp(){
			//输入数字并通过检验确定一个符合要求的数
			Scanner sc=new Scanner(System.in);
			System.out.println("请输入大于6的偶数:");
			int num=sc.nextInt();
			if(num%2!=0||num<=6){
				System.out.println("输入错误,请重新输入大于6的偶数:");
				return opp();//错误则返回inPut()继续输入
			}
			return num;//正确则返回num值
		}

	
	public static boolean zhi(int a){
		for(int i=2;i<=Math.sqrt((double)a);i++){
			if(a%i==0){		//判断是否是质数
				return false;
			}
		}
		return true;
	}
	
	public static void obb(int a){
		for(int i = 2;i

数组

数组的遍历

  • 数组扩容

不利用函数:

public static void main(String[] args) {
		int[] a={1,2,3,4};		//定义一个数组a(这是已知数组)
		int[] b=new int[8];		//定义一个新数组b,并给定长度(这是扩容的长度)
		
		for(int i=0;i

利用函数:
第一种方法:

public static void main(String[] args) {
		int[] a={1,2,3,4};
		a=expand1(a);
		for(int j=0;j

第二种方法:

public static void main(String[] args) {
		int[] a={1,2,3,4};
		a=expand2(a);
	}
	public static int[] expand2(int[]a){
		int[] b=new int[a.length*2];
		System.arraycopy(a, 0, b, 0, a.length);		//调用一个系统函数,作用是将a数组从第0位开始复制到b数组第0位,
													//一共复制a.length位
		return b;
	}

第三种方法:

	public static void main(String[] args) {
		int[] a={1,2,3,4};
		a=expand3(a);
	}
	public static int[] expand3(int[]a){
		return java.util.Arrays.copyOf(a, a.length*2);
		//利用Array.copyOf 直接返回一个长度为a数组两倍的新数组
	}

ps:第二和第三种方法需要注意jdk要在1.5版本以上

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