0、蓝桥杯Java比赛注意事项
- 不要使用 package 语句
- 类名称必须采用 Main 方式命名
1、输入输出
1.1输入
格式1:Scanner sc = new Scanner (new BufferedInputStream(System.in))
格式2:Scanner sc = new Scanner (System.in);
在读入数据量大的情况下,格式1的速度会快些。
读一个整数: int n = sc.nextInt();
读一个浮点数:double t = sc.nextDouble();
读一个字符串:String s = sc.next(); 或 String s = sc.nextLine();
注意:
in.next() 从缓冲区接收字符遇到空格后停止。
in.nextLine() 从缓冲区接收字符,并且接收空格,遇到换行才停止,并且会自动舍弃换行。
判断是否有下一个输入可以用:
sc.hasNext()
sc.hasNextInt()
sc.hasNextDouble()
sc.hasNextLine()
1.1输出
System.out.printf(); // 可使用格式控制符进行格式化输出。
// 例如: 输出一个int类型变量 System.out.printf("%d",a);
System.out.print() //不能使用格式控制符进行格式化输出,仅输出变量
System.out.println() //不能使用格式控制符进行格式化输出,仅输出变量,但会自动输出一个换行。
关于“输入输出”详情请移步至:https://blog.csdn.net/GD_ONE/article/details/103480407#%C2%A03.2%20%E7%9B%B4%E6%8E%A5%E4%BD%BF%E7%94%A8BufferedReader%E5%AE%9E%E7%8E%B0%E5%BF%AB%E9%80%9F%E8%BE%93%E5%85%A5%E8%AF%BB%E4%B8%80%E8%A1%8C%C2%A0
2、字符串
几大常用方法
字符串直接转字符数组 toCharArray()
获取字符串指定索引处字符 charAt(index)
字符串的截取方法 substring(begin,over) //:前闭后开
字符串中是否含某个字符 contains("")
字符串比较相等 equals()
字符串连接 concat()
字符串中按空格分成多个字符串 并放进数组
String s = "asdf sdfgsd fghgdf ghjfgh"
String[] srr = s.split(" ") //[asdf, sdfgsd, fghgdf, ghjfgh]
类型转换
一、String转为int
int i = Integer.parseInt(s);
int i = Integer.valueOf(s) ; 记这个
二、int转为String
String s = Integer.toString(i);
String s = String.valueOf(i); 记这个
String s = “” + i;
更改Integer为Double或者Float
更改parseInt为parseFloat()或者parseDouble()
就能实现其他类型间的转换
3、BigInteger
int最大值:2147483647 2后面9个0
long最大值:9223372036854775807 9后面18个0
int 和 long放不下时,用BigInteger
BigInteger bi = new BigInteger("1234567890");
System.out.println(bi.pow(5)); // 2867971860299718107233761438093672048294900000
常用方法:add()、subtract()、mutiply()、divide() 例a.mutiply(b)
4、BigDecimal
BigDecimal可以表示一个任意大小且精度完全准确的浮点数。
BigDecimal bd = new BigDecimal("123.4567");
System.out.println(bd.multiply(bd)); // 15241.55677489
常用方法:add()、subtract()、mutiply()、divide() 例a.mutiply(b)
保留小数:
BigDecimal a = new BigDecimal("4.5635");
a = a.setScale(3, RoundingMode.HALF_UP); //保留3位小数,且四舍五入
5、数组
数组的创建
int[ ] arr1= new int[3];
int[ ][ ] arr = new int[m][n];
数组的输出
一维数组
int[] arr1= {1,2,3,4};
System.out.println(Arrays.toString(arr1));//[1, 2, 3, 4]
二维数组
int[][] B= {{1,2,3,4},{5,6,7,8}};
System.out.println(Arrays.deepToString(B));//[[1, 2, 3, 4], [5, 6, 7, 8]]
数组的长度
一维数组:A.length 表示有多少行
二维数组:A[i].length表示第i行列有多少列
数组排序
Arrays.sort(arr) 默认升序
降序:
int [] arr={1,2,3,4,5,6};
int [] arr2=new int[6];
Arrays.sort(arr);//排序默认升序
for(int i=0,j=arr.length-1; i<=arr.length-1 & j>=0; i++,j--) {
arr2[i]=arr[j];
}
数组克隆
int[] arr1= {1,2,3,4};
int[] arr2=arr1.clone(); //[1, 2, 3, 4]
动态数组
ArrayList<Integer> list1 = new ArrayList();
ArrayList<String> list2 = new ArrayList();
增 list1.add(element);
删 list1.remove(index);
改 list1.set(index,element);
查 list1.get(index);
6、eclipse快捷键
- 撤销:Ctrl+z
- 重做(对撤销进行撤销):Ctrl+y main
- 方法:main+Alt+/
- 打印输出:syso+Alt+/
- 导入包:Ctrl+Shift+o
- 删除当前行:Ctrl+d
- 移动当前行:Alt+↑/↓
- 跳到代码错误处:Ctrl+.
- 修正代码提示:Ctrl+1
- 在当前行另起一行:Ctrl+Shift+Enter
- 在当前行下另起一行:Shift+Enter
- 运行代码:Ctrl+F11