JAVA
JAVA随手记
Scanner中的读入与输出
- next()与nextLine()
import java.util.Scanner;
//Scanner中nextLine()方法和next()方法的区别
Scanner cin = new Scanner(System.in);
System.out.println("请输入字符串(nextLine):");
String str1 = cin.nextLine();
System.out.println(str1);
System.out.println("请输入字符串(next):");
String str = cin.next();
System.out.println(str);
nextLine()与next()结束标志不同:nextLine()遇到回车("\r")终止读入字符,读的是一行字符串(包括空格);而next()遇到空格就终止读入,读的是不含空格的字符串。
如何处理回车
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
sc.nextLine();//将换行符读掉
String s=sc.nextLine();
循环读入字符串
while(cin.hasNext())
{
~~~~~
}
hasNext()返回的是boolean类型而next()返回的是你输入的那个值
字母大小写转换
//java中字符串调用toLowerCase会不会修改原本的字符串
String string = new String("TEST");
String string1 = string.toLowerCase();
String string2 = string.toUperCase();
System.out.println(string);
System.out.println(string1);
System.out.println(string2);
一、二维数组初始化
//初始化一维数组
int[] arr1 = new int[1000] ;
//将arr的所有元素初始化为-1
Arrays.fill(arr1,-1);
//System.out.print(arr1[0] + " " + arr1[1]);
//初始化二维数组
int arr2[][] = new int[100][100] ;
//foreach循环
for(int a[] : arr2) Arrays.fill(a,-1);
字符串与字符数组之间的转换
//字符串转字符数组
String str = "abcdefg" ;
char[] c = str.toCharArray() ;
for(int i = 0 ; i < c.length ; i ++) System.out.print(c[i] + " ");
System.out.println();
//字符数组转字符串
char[] ch = {'a' , 'b' , 'c'} ;
String str1 = new String(ch) ;
System.out.println(str1);
字符串中首次出现的位置
// indexOf 方法可返回某个指定的字符串值在字符串中首次出现的位置(下标)。
String str2 = "abcdefgh" ;
int num1 = str2.indexOf('a') ;
System.out.println(num1);
/*
* str.substring(beginIndex,endIndex)
* 方法返回字符串的子字符串
* beginIndex -- 起始索引(包括), 索引从 0 开始。
* endIndex -- 结束索引(不包括)
* */
int a = 0 , b = 4 ;
String rest1 = str2.substring(b + 2,str2.length());
String rest2 = str2.substring(a + 2,b - 1);
System.out.println("a=" + rest1 + ",b=" + rest2) ;
取小数的第一位整数
double num= 12.45 ;
String str3 = String.valueOf(num);
//按小数点分隔数字字符串
String[] split = str3.split("\\.");
//输出小数点前一位
System.out.println(split[0].charAt(split[0].length()-1));
由基本数据型态转换成 String
/*1. 由 基本数据型态转换成 String
String 类别中已经提供了将基本数据型态转换成 String 的 static 方法,也就是 String.valueOf() 这个参数多载的方法,有下列几种:
String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串
String.valueOf(char c) : 将 char 变量 c 转换成字符串
String.valueOf(char[] data) : 将 char 数组 data 转换成字符串
String.valueOf(char[] data, int offset, int count) : 将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串
String.valueOf(double d) : 将 double 变量 d 转换成字符串
String.valueOf(float f) : 将 float 变量 f 转换成字符串
String.valueOf(int i) : 将 int 变量 i 转换成字符串
String.valueOf(long l) : 将 long 变量 l 转换成字符串
String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()
*/
int i = 10;
String str = String.valueOf(i);
System.out.println(str) ;
//这时候 str 就会是 "10" 。
String 转换成 数字的基本数据型态
/*
2. 由 String 转换成 数字的基本数据型态
要将 String 转换成基本数据型态,大多需要使用基本数据型态的包装类别,比如说 String 转换成 byte,可以使用 Byte.parseByte(String s) 这一类的方法。
如果无法将 s 分析,则会丢出 NumberFormatException。
byte :
Byte.parseByte(String s) : 将 s 转换成 byte
Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte 比如说 Byte.parseByte("11", 16) 会得到 17
double :
Double.parseDouble(String s) : 将 s 转换成 double
int :
Integer.parseInt(String s) : 将 s 转换成 int
long :
Long.parseLong(String s) : 将 s 转换成 Long
*/
String sss = "123" ;
int m = Integer.parseInt(sss) ;
System.out.println(m);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?