java中常见的知识点总结

1.“=”是赋值的意思。
2. “多路分支”
swith(type)
{ case 1:------------------------;
break;
case 2:------------------------;
break;

 default:
             ----------------------;
           break;
  }

3,对于一个几位小数,要求保留几位小数时,应该这样
eg:保留一位小数:(int)(x10)/10.0
eg:保留两位小数:(int)(x
100)/100.0
或者是输出时用System.out.printf(“%a.bf”,c);
其中a表示你要输出的字符串的长度,当不要求时,可以直接写"%.bf"。
b表示要保留的位数。
c是你计算后将要输出的值。

4,【while循环】当你要循环一个东西时,用while(true){
}来表示。其中(true)中的true可以为任何的。eg:x>0
是先判断再运算。
在{}中,若要循环,则要加入输入语句。

5.[do-while]用法中,while放在最后,是先运算再判断。
格式为 do {------------------------

------} while(-------);
6,当在输出一个计算时 要注意计算是否符合数学法则。

7,Math的各种用法:
Math.sqrt();//计算平方根
Math.cbrt();//计算立方根
Math.pow(a,b);//计算a的b次方根
Math.min(a,b);//计算最小值
Math.max(a,b);//计算最大值
Math.abs();//求绝对值
Math.ceil();//ceil是天花板的意思,向上取整。
把ceil换成floor,就是向下取整。

随机数:Math.random();//在【0,1)中取值。
注意(当要换为别的范围时 ,直接乘倍数或者加上某个值即可。
eg:int a=(int)(Math.random()*100+2);
注意点:1.(int)为类型转换,
2,变范围时,要加括号。

Math.rint();//为四舍五入,且返回double值。

Math.round();//为加上0.50后,向下取值。
eg:System.out.println(Math.round(10.1)); //答案为10
eg:System.out.println(Math.round(10.51)); //答案为11

8,当要进行“相等测试”时,可以用测试两个数的差值小于某个阈值(epsilon=1E-14),来判定。
eg: final double EPSILON=1E-14;
double x=1.0-0.1-0.1-0.1-0.1-0.1;
if (Math.abs(x-0.5)<EPSILON){
System.out.println(x+“is approximately 0.5”);
9,当要求输入多组数时,可以用while循环

10,BigDecimal的toString方法

同事输入多组数据进行运算:
import java.math.BigDecimal;
import java.util.Scanner;

public class Qin{

public static void main(String[] args) {
	// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		BigDecimal a,b;
	while(scanner.hasNext()) {
		a=scanner.nextBigDecimal();
		b=scanner.nextBigDecimal();
		System.out.println(a.add(b));
		System.out.println(a.multiply(b));
	}	
		
	}
}

11,编写一个程序,用户输入任意一个字符串,显示它的长度和第一个字符
主要点:String方法的应用及规则。
eg:

import java.util.Scanner;

public class Qin{

public static void main(String[] args) {
	// TODO Auto-generated method stub
	System.out.print("请");	
	 Scanner a=new Scanner(System.in);
        	 String b=a.nextLine();//主要点
                 System.out.println(b.length());
         	System.out.println(b.charAt(0));
       	a.close(); 

}
}

12,一个判断语句中若在if(—)后加上了 - ;- 。那么就意味着if后面的条件根本就执行不了。所以不能加。
13,输入一个数,代表从某个数到这个数之间的所有数,方法:

eg: int a=in.nextInt();
for(int i=1;i<=a;i++){

  ----中间输入判断语句-----

}
14,java枚举的好处(优点):
(1):代码可读性差,易用性低。
(2):类型不安全。
(3):耦合性高,扩展性差。
15,当计算一2为底数的对数时,可以用换底公式:log(2)(x)=log(e)(x)/log(e)(2)

16,(1)字符数据类型char用于表示单个字符。【注意:eg:char a=‘A’;与char a=“A”;
两者中,'A’是一个字符,"A"是一个字符串】
(2)char 类型操作数是16进制的,像’2’表示50,'3’表示51,'a’表示97,1+'a’的运行结果是b,2+'a’的运行结果是c
所以’b’也可表示为数字98。'A’表示65。
17,把十进制转化为十六进制、八进制、二进制的方法。
(1),在引入变量类型时,要用Integer类型,这个类型和int类型是等同的,但又有不同,
int是基本数据类型,int变量储存的是数值;Intege是引用类型,实际是一个对象,Integer储存的是引用对象的地址。
(简单来说,就是两者所引用的方法不同)
(2),用String类型方法:String b=Integer.toBinaryString(a);
举例:十进制转化为二进制:
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner in = new Scanner(System.in);
    		Integer a=in.nextInt();
    		String b=Integer.toBinaryString(a);
    		System.out.println(b);
    
}

}
18,标号(可以是任何标识符)
在循环前放一个标号来标识循环
再在break后面加上这个标号,用来结束这个循环。
eg:
Outer:------


–if------
break Outer;

19,fun函数的用法:
eg:
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	 Scanner in = new Scanner(System.in);
         int n=in.nextInt();
         System.out.println(fun(n));
    }

private static int fun(int n) {
	// TODO Auto-generated method stub
	if(n==0||n==1) {
		return 1;
	}
	else {
		return fun(n-1)+fun(n-2);
	}
}
    
}

20,可以用syso再敲击Alt+/来写出System.out.println();**

21,在数组中,定义一个数组a时,这个a只是一个管理者,管理着这个数组,当把这个数组赋值给另一个数组b后,若对b中某项[1]进行赋值为3,
a中的[1]项会由原来的值变为3。所以数组中的定义a只是一个管理者。而对于定义基本变量类型,int a=1;若不对a进行再赋值,那a一直等于1。
22,在数组中,用for循环时,用a.length来表示数组a中的元素数更好。(这样就不用再考虑a的类型了)
eg:for(int i=0;i<=a.length;i++){
}
23,next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。

而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
24,判断一个数是否是素数的方法:

import java.util.Scanner;

public class I {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		int m=2;
		while(n%m!=0) {
			m++;
		}
		if(m==n) {
			System.out.println(n+"是素数");
		}
		else
			System.out.println(n+"不是素数");
	}
}

25,输出给定范围内的素数的方法:

import java.util.Scanner;

public class I {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		for(int i=2;i<=n;i++) {
			int m=2;
			while(i%m!=0) {
				m++;
			}
			if(m==i) {
				System.out.print(i+" ");
			}
		}
	}
}

26,输出给定数量的素数:

import java.util.Scanner;

public class I {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		int j=0;
		int i=2;
		while(j<=n) {
				int m=2;
				while(i%m!=0) {
					m++;
				}
				if(m==i) {
					System.out.print(i+" ");
					j++;
				}
				i++;
		}
	}
}

27,容器类:ArrayList:
eg: private ArrayList notes=new ArrayList();
定义了一个String类型的ArrayList—notes
如何用:eg: notes.add(s);
//add是notes的一个方法
//容器类是没有限定长度的数组,可以一直存放。他有很多方法可以用。
28,散列表(Hash):
eg:

public class Coin{
	private HashMap<Integer,String> coinnames=new HashMap<Integer,String>();
	public Coin(){
	coinnames.put(1,"一元");
	-
	-
	-
	
}
}

若用switch方法的话,非常不好看。
29,super是在构造函数里的第一行用的
eg:

public QL (String name,int age){
	super(内容);
	this.name=name;
	this.age=age;
}

30,java中的框架数据
框架:HashMap的函数
数据:把数据放进框架中,然后进行相关程序的编写
优点:能够不动用大量已经写好的代码,进行增添一些元素(eg:只需增加一个新的子类即可)
31,ASCII码:
0——9:48——57
A——Z: 65——90
a——z: 97——122
32,在用循环遍历时,当用类似这种结构时
for(int j=s1[i].length();j>0;j--) { if(s1[i].charAt(j-1)!=' ') {}
要注意在for(int j=s1[i].length();j>0;j–)中,j一定要大于零,因为在下一步中有(j-1)这一项,否则系统会在运行的时候直接能判断出来错误,但是当你编码时,系统显示不出来!!!(就因为这个问题,耽误了我的吃饭时间,真是长记性了)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值