java中的输入流(Scanner),数据类型,运算符,switch,数组的用法

时间:2023-12-25 15:00:43

//java中创建包用package相当于C#的命名空间namespace,java中导入包用import相当于C#中引入命名空间using
import java.util.*;//导入包,*代表导入java.util包下面的所有类
public class Test {
 /***********Scanner的使用************/
// public static void main(String[] args) {
//  Scanner input = new Scanner(System.in);
//  System.out.println("请输入一个字符串:");
//  String str = input.next();//接收用户输入的字符串
//  System.out.println(str);
//  System.out.println("请输入一个整型:");
//  int result = input.nextInt();//接收用户输入的整型数据
//  System.out.println(result);
//  System.out.println("请输入一个浮点数据:");
//  double d = input.nextDouble();//接收用户输入的整型数据
//  System.out.println(d);
// }
 
 /************Java数据类型***************/
// public static void main(String[] args) {
//  //字符型(java采取unicode编码,一个字符占2个字节,可以存储中文),C语言中字符只占一个字节,所以不能存储中文
//  char c = '中';
//  System.out.println(c);
//  System.out.println((int)c);//字符转int
//  
//  //类型转换
//  int a = 10;
//  long num = a;//自动转换
//  double d = 21.6;
//  int result = (int)d;//强制转换(容易丢失精度)
//  System.out.println(result);
// }
 
 /**************运算符*******************/
// public static void main(String[] args) {
//  //算术运算符
//  int a = 3;
//  int result = a++;//相当于 1、int result=a; 2、a=a+1;
//  System.out.println(result);//输出3
//  System.out.println(a);
//  int b = 5;
//  result = ++b;//相当于 1、b=b+1; 2、result=b;
//  System.out.println(result);//输出6
//  int c=5,d=3;
//  result = ++c+d++;
//  System.out.println(result);//输出9
//  
//  //逻辑运算符
//  int num1=5,num2=10;
//  if(num1<5&++num2<10){}//逻辑与,不管前面部分的结果为true还是false,后面部分都会被执行
//  System.out.println(num2);
//  int num3=5,num4=10;
//  if(num3<5&&++num4<10){}
//  System.out.println(num4);//短路与,如果前面部分的结果为false,那么后面部分就不需要被执行了,因为前面为false就已经决定了整个表达式的结果为false
//  //注意:逻辑或和短路或的区别也是一样
// }
 
 
 /*************switch结构***************/
 /*switch结构特点:
  *1、java中能匹配整型、字符型,C#除了能匹配整型、字符型,还能匹配字符串
  *2、case后面只能接常量
  *3、case后面的常量不能重复
  *4、java中不管case分支里面有没有代码break都可以省略,C#中case分支里面如果有代码break就不能省略
  */
// public static void main(String[] args) {
//  int day=0;
//  switch(day){
//   case 0:
//    System.out.println("星期日");
//    break;
//   case 1:
//    System.out.println("星期一");
//    break;
//   case 2:
//    System.out.println("星期二");
//    break;
//   case 3:
//    System.out.println("星期三");
//    break;
//   case 4:
//    System.out.println("星期四");
//    break;
//   case 5:
//    System.out.println("星期五");
//    break;
//   case 6:
//    System.out.println("星期六");
//    break;
//  }
// }
 
 /************数组***************/
 //特点:创建数组时,java可以将[]放在数据类型后面也可以放在数组名后,C#只能将[]放在数据类型后面
 public static void main(String[] args) {
  /**********一维数组*************/
  //int[] arr = new int[5];//正确
  //int arr[] = new int[5];//正确  
  int[] array = {1,3,5,7,9};
  //遍历数组(方法一)
  for(int i=0;i<array.length;i++){
   System.out.println(array[i]);
  }
  //遍历数组(方法二):增强for循环类似C#中的foreach
  for(int num : array){
   System.out.println(num);
  }
  
  /***********二维数组****************/
  //int[][] nums = new int[3][2];
  int[][] nums = {{10,20},{30,40},{50,60}};
  System.out.println(nums[0][1]);
  //System.out.println(nums[1][2]);//出错,下标越界
  //遍历二维数组
  for(int i=0;i<3;i++){
   for(int x=0;x<2;x++){
    System.out.println(nums[i][x]);
   }
  }
  
  //不规则的二维数组
  int[][] arrayNums = {{3,5},{10,20,30}};
  System.out.println(arrayNums[1][2]);//输出30
  //System.out.println(arrayNums[0][2]);//出错,数组下标越界
 }
}