本文最后更新于:1 年前

A到Z的ASCII码值是65到90

a到z的ASCII码值是97到122

Demo

public class AlphabetDemo {

  public static void main(String[] args) {
      /*char和int类型能够相互转换,相信大家都明白 */
 
      //A到Z的ASCII码是65到90,a到z的ASCII码值是97到122
      for (char c = 0; c < 128; c++) {
          //java里包装类的一个静态方法,确定c是字母还是小写!!!)
          if (Character.isLowerCase(c)) {
              System.out.printf("value: %3d  char: %c\n", (int)c, c);
          //同上,判断c是大写
          } else if (Character.isUpperCase(c)) {
              System.out.printf("value: %3d  char: %c\n", (int)c, c);
          }
      }
  }
	
}

注:关于isLowerCaseisUpperCase在文末有进一步的说明。

扩展 ①

🔺题目:

🔺参考代码:

import java.util.Scanner;

public class Alphabet {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		int n,level;
		System.out.println("the value of n:");
		n=input.nextInt();
		level=(int)Math.ceil(26/n);//向上取整
		
		System.out.println("======Upper========");
		char CH=65;
		for(int i=0;i<=level;i++) {		
			for(int j=0;j<n;j++) {			
				System.out.printf("%c ",CH);
				++CH;
				if(CH>=90)
					break;
			}
			System.out.println();
		}
		System.out.println();
		/*	另一个版本,这就看个人理解了!
		System.out.println("======Upper========");
		char CH=65;
		for(int i=1;i<=26;i++) {
            System.out.print(CH+" ");
            CH++;
            if(i%n==0) {
                System.out.println();
            }
		}
		System.out.println();
		*/
		System.out.println("======Lower========");
		char ch=97;
		for(int i=0;i<=level;i++) {		
			for(int j=0;j<n;j++) {			
				System.out.printf("%c ",ch);
				++ch;
				if(ch>=123)
					break;
			}
			System.out.println();
		}
		System.out.println();	
        input.close();
	}

}

注意:Math.ceil();//向上取整

参考:我的另一篇博客:Java—向下/上取整

🔺执行截图:

扩展 ②

上面常规思考题中的第6题是自左往右从上往下的水平顺序输出大写堆和小写堆字母表。假如想要按照自上而下从左往右的垂直顺序输出大写堆,该如何实现程序?

即假如每列输出N=5个,则程序的输出情况如下:

= = = Upper = = =

A F K P U Z

B G L Q V

C H M R W

D I N S X

E J O T Y

试用一重循环编写程序,指定一个整型数N(1<=N<=26),按示例规格输出列优先排序的大写字母表。

🔺代码:

import java.util.Scanner;

public class Aphabet {

	public static void main(String[] args) {
		System.out.println("======Upper========");
		Scanner input = new Scanner(System.in);
		int n,level;
		System.out.println("the value of n:");
		n = input.nextInt();
		level = (int)Math.ceil(26/n);//向上取整
		int j = 0;
		char ch = 65;
		p(1, n, ch);
	}
	public static void p(int x,int n,char ch) {
		if(x > n)
			return;		
		for(int i = x;i <= 26;i += n){
			ch = (char)(i + 64);
			System.out.print(ch + " ");
		}
		System.out.println();
		++x;
		p(x, n, ch);
	}
}

下午做了半个多小时都没做出来,晚上玩了会游戏突然想到用递归,下午怎么就没想到呢?然后游戏就挂机被举报了,但一气呵成搞定了这题。说明思想不够灵活hhh

🔺截图:

补充:Java Character 类

isLowerCase() 方法

🔺作用:用于判断指定字符是否为小写字母。

🔺语法

boolean isLowerCase(char ch)

🔺参数

  • ch – 要测试的字符。

🔺返回值

如果字符为小写,则返回 true;否则返回 false。

🔺实例

public class Test {

    public static void main(String args[]) {
        System.out.println( Character.isLowerCase('a'));
        System.out.println( Character.isLowerCase('A'));
    }
}

🔺以上程序执行结果为:

true
false

isUpperCase() 方法

🔺作用:用于判断指定字符是否为大写字母。

🔺语法

boolean isUpperCase(char ch)

🔺参数

  • ch – 要测试的字符。

🔺返回值

如果字符为大写,则返回 true;否则返回 false。

🔺实例

public class Test {

    public static void main(String args[]) {
        System.out.println( Character.isUpperCase('b'));
        System.out.println( Character.isUpperCase('B'));
    }
}

🔺以上程序执行结果为:

false
true

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

Java—向下/上取整 上一篇
Java—5种生成随机数的方法 下一篇

 目录