JAVA

JAVA随手记

Scanner中的读入与输出

  1. 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);
posted @   ICE_棋  阅读(33)  评论(0编辑  收藏  举报
编辑推荐:
· .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 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示