解析:
- 5 >> 2 相当于 5除于2两次,等于1
- >>> 表示无符号右移,高位用 0 填充,0001右移两位 0000,所以选A
解析:作对这道题的关键是要理解Java的值传递,关于值传递和引用传递的解释如下:
- 值传递:是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
- 引用传递:是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。
这道题中a、b(是引用的副本,Java中没有引用传递)传入operate()函数中,但最后a指向的对象的值发生了变化,而b指向的对象的值没有发生变化,这是因为x.append(y);改变了a指向的对象的值,而y=x;并没有改变b指向对象的值,指向将y指向了x所指向的对象(之前y和b指向同一个对象)。
解析:在一个类的构造方法中调用这个类的其他构造方法,需要用this关键字
解析:使用局部变量一定要初始化
解析:float double long boolean 都不可以
解析:
A:只有public类类名要与文件名相同
B:也可以是其他类
D:不能包含多个 public类
解析:虽然try有return了,但finally一定会被执行,所以 return 的是 false
解析:void 是java的关键字
解析:传字符串是形参 数组是实参
解析:C:不是不可继承是不可重写
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str1 = in.nextLine(); String str2 = in.nextLine(); int count = 0; int len = str1.length(); for(int i =0;i<=len;i++){ StringBuffer str = new StringBuffer(str1); str.insert(i,str2); StringBuffer tmp = new StringBuffer(str); StringBuffer str5 = tmp.reverse(); if(str5.toString().equals(str.toString())){ count++; } } System.out.println(count); } }解题思路,把每种情况列出来,倒置后与倒置前相比,相等就是回文。
- import java.util.Scanner;
- public class Main {
- public static int getMax(int a,int b) {
- return a>b? a:b;
- }
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- int size = in.nextInt();
- int[] ch = new int[size];
- for(int i = 0;i<size;i++){
- ch[i] = in.nextInt();
- }
- int sum = ch[0];
- int max = ch[0];
- for(int i=1;i<size;i++){
- sum = getMax(sum+ch[i],ch[i]);
- if(sum>max){
- max = sum;
- }
- }
- System.out.println(max);
- }
- }