java输入一个char字符,java保留两位小数,打印数组,求数组长度,用equals判断对象的值是否相等,switch语句

java 数组、变量类型强制转换、类相关问题

1.java中输入一个char字符
https://zhidao.baidu.com/question/327466502.html

Scanner scanner = new Scanner(System.in);
System.out.println("是否充值,y or n ?");
if (scanner.nextLine().charAt(0) == 'y') {
            System.out.println("请输入您要充值的金额(整数)");
            return scanner.nextInt();
} else {
            return 0;
        }

2.java保留两位小数的方法
https://blog.csdn.net/u012240455/article/details/80774628

float f=3.99f;
DecimalFormat ff=new DecimalFormat("0.000");
System.out.println(ff.format(f+1.5));

注意:

 (double)Math.round((one.height * 100))/100;
 //这种方式小数点之后末尾的0被省略
 DecimalFormat format1 = new DecimalFormat("0.00");
 //这种方式可以把小数点前后的0都保留

3.java打印一个数组
https://blog.csdn.net/chenkaibsw/article/details/78989459
可以直接sout(System.out.println)一个数组,需要用到Arrays.toString()函数

4.创建数组
创建数组,用new 关键字创建数组,必须指定数组的长度,或者直接给数组初始化
由对象组成的数组是对象数组,比如String[],每个元素都是对一个对象的引用,改变元素的值,是在改变引用。
如果没有初始化,也需要建立数组元素的引用,否则数组的建立时没有意义的,会报出NullPointerException空指针异常。

用[0]等来访问数组元素,给数组元素赋值
java输出数组的内存地址,直接输出数组名System.out.println(arrname)
对数组的某值进行更改,是在原地址进行改动,fill函数
java 数组排序,sort直接升序,在原地址进行改变。
arraycopy数组,不指向同一个存储地址,数组的改变不会互相影响。

5.数组长度=数组.length()
三维数组每个维度的数组长度arr[1][2][3]

int[][][] iii = new int [1][2][3];
System.out.println(iii.length);
System.out.println(iii[0].length);
System.out.println(iii[0][0].length);  //分别是1,2,3

6.引用,建立与某个内存地址的引用关系,不占用新的内存空间
用=号给对象赋值,都属于引用。如果没有用=号赋值,则仅仅是声明了一个类变量。可以赋值位该类或其子类的实例对象。
String类型的都是对象,重新赋值,就会重建一个新的对象,而不是在原来的内存上改值,原内存被释放。
数组,int[],string[]数组类的都是类,类的对象=号赋值,都是引用。
用new 新创建一个数组,都是相当于引用创建的那个数组,赋值给变量。
使用=号给简单变量赋值,开辟新的内存地址。
使用=号给对象赋值,是引用。

String str2;
String str3;
str2 ="法语";
str3 = str2;//对象的引用
System.out.println(str3);//如果输出法语,说明对象的引用仍访问原对象的地址

7.数据类型强势转换,需要在转换前加(type)
精度低的可以转换成精度高的,精度高的想转换为精度低的,必须经过强制转换,才不会降低数据的精度。
同样的,子类和超类之间也可以转换,子类的方法比超类多,相当于是位数多(精度高)的数据类型和位数少(精度低)的数据类型,想在使用超类的时候使用子类的对象,则一定能包含超类需要的所有方法,不需要强制转换。
而在需要子类的时候使用超类的对象,则可能会漏掉一些方法,在超类对象前加上(子类名字)进行强制转换,则超类对象可以得到子类的所有属性和方法,就不会编译错误。

8.要比较对象的值,需要用equals,而==和!=用来比较基本数据类型。
如果用= =号对两个对象进行比较,会比较两个对象是否指向同一个地址
如果用equals进行比较,会判断值是否相等。

System.out.println("是否加入主语字典,是 or 否");
                if (readIn.nextLine().equals("是")) {```}

9.java输出变量类型 .getClass().getName()

10.switch条件语句,应对elseif很多的情况
switch只能用来判断,
switch语句= =第一种情况,怎么做,
switch语句= = 第二种情况,怎么做;
······
只能用来测试= = 语句。

Scanner readIn = new Scanner(System.in);
        String str5 = readIn.nextLine();
        long lll;
        switch (str5){
            case "one":
                lll = 1L;
                System.out.println(lll);
                break;
            case "two":
                System.out.println(2L);
                break;
            case "three":
                System.out.println(3L);
                break;
        }

且每一个case 的多条语句,可以不用花括号括起来。
多数情况下,每一种case 的末尾,应该加上break语句,否则会一直向下执行到switch末尾。

11.关键字continue和break
如果在嵌套循环当中有break,则break本循环,跳到外部循环
continue直接进入循环的下一次迭代,指忽略本次情况,不执行语句,直接进入下次循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值