I saw a question like this on Zhihu a few days ago. I just did it casually and checked the answers. Yesterday there was another advanced question, some of which still need to be recorded, so I started with this introductory question.
Questions and answers are from Alibaba Cloud University - Zhihu Column
Now assume that there is the following program
class Happy {public static void main(String args[]) {int i = 1 ; int j = i++ ;if((i==(++j))&&((i++)==j)) { i += j ; } System.out.println("i = "+i); } }
What is the value of i
output after running the above code?
A. 4
B. 5
C. 3
D. 6
The following Which one of data declaration and assignment is error-free?
A. float f = 1.3;
B. char c = "a"
C. byte b = 257
D. int i = 10
Extension of the bytecode file generated by compiling Java source program files Name?
A. java
B. class
C. html
D. exe
Now suppose There is the following program:
public class Demo {public static void main(String args[]) {boolean flag = 10%2 == 1 && 10 / 3 == 0 && 1 / 0 == 0 ; System.out.println(flag ? "aliyunedu" : "yootk") ; } }
What is the final execution result of the above program?
A. aliyunedu
B. yootk
C. true
D. Program error
Now Suppose there is the following program:
public class Demo {public static void main(String args[]) {int x = 10 ;double y = 20.2 ;long z = 10L; String str = "" + x + y * z ; System.out.println(str) ; } }
What is the final execution result of the above program?
A. 10202.0
B. 0212.0
C. 302.0
D. 1020.210
Now assume There is the following program:
public class Demo {public static void main(String args[]) { String str = "" ;for (int x = 0 ; x < 5 ; x ++) { str += x ; } System.out.println(str) ; } }
What is the final execution result of the above program?
A. 01234
B. 10
C. 14
D. 25
Now suppose There is the following program:
public class Demo {public static void main(String args[]) { System.out.println(inc(10) + inc(8) + inc(-10)) ; }public static int inc(int temp) {if (temp > 0) {return temp * 2 ; }return -1 ; } }
What is the final execution result of the above program?
A. 35
#B. 8
C. 28
D. 12
Now suppose There is the following program:
public class Demo {public static void main(String args[]) {char c = 'A' ;int num = 10 ;switch(c) {case 'B' : num ++ ;case 'A' : num ++ ;case 'Y' : num ++ ;break ;default : num -- ; } System.out.println(num) ; } }
What is the final execution result of the above program?
A. 11
B. 13
C. 12
D. 10
Now suppose There is the following program:
public class Demo {public static void main(String args[]) {int sum = 0 ;for (int x = 1 ; x < 10 ; x ++) { sum += x ;if (x % 3 == 0) {continue ; } } System.out.println(sum) ; } }
What is the final execution result of the above program?
A. 6
#B. 0
C. Program error, infinite loop
D. 45
Now assume that there is the following program:
public class Demo {public static void main(String args[]) {int sum = 0 ;for (int x = 0 ; x < 10 ; x ++) { sum += x ;if (x % 3 == 0) {break ; } } System.out.println(sum) ; } }
What is the final execution result of the above program?
A. 6
#B. 0
C. Program error, infinite loop
D. 45
BDBBA AACDB
Main testi++
and++i
The difference is as long as you remember "++ first, self-increment first; second ++, then self-increment", this question will only test your carefulness.
class Happy {public static void main(String[] args) {int i = 1;int j = i++; // i = 2, j = 1if ((i == (++j)) && ((i++) == j)) { // 第一个判断:j先自增1变为2后与i比较// 第二个判断:i先与j比较后再自增1,// if内为true,i = 3, j = 2i += j; // i = 5, j = 2} System.out.println("i = " + i); } }
If option A does not have that ; at the end, then this question will not be controversial
int b = 257;
byte b = 57;
char c = 'a';
##String c = "a";
float f = 1.3f;
double f = 1.3;
float f =(float) 1.3;
float f = 1.3;##1.3The default is double type , the conversion of basic data types in Java from high-level to low-level requires forced conversion.
Character constants in java should be enclosed in single quotes and double quotes It is a string. (There is a semicolon missing at the end)
The range of byte is -128~127. (There is a semicolon missing at the end)
# (There is a semicolon missing at the end)
public class Demo {public static void main(String args[]) {boolean flag = 10 % 2 == 1 && 10 / 3 == 0 && 1 / 0 == 0 ;// 10对2取余为0,故flag为falseSystem.out.println(flag ? "aliyunedu" : "yootk") ; } }
X = Condition? A : B is a ternary expression, which has the same meaning as
if (条件) { X = A; } else { X = B; }
public class Demo {public static void main(String args[]) {int x = 10 ;double y = 20.2 ;long z = 10L; String str = "" + x + y * z ; System.out.println(str) ; } }
, so the multiplication is calculated first, followed by +
from left to right. When a string participates in the +
operation, the addition becomes string concatenation, and the result is a string. Therefore, the final result is the concatenation of the strings "10"
and 202.0
. See above
public class Demo {public static void main(String args[]) { System.out.println(inc(10) + inc(8) + inc(-10)) ; // 20 + 16 - 1}public static int inc(int temp) {if (temp > 0) {return temp * 2 ; }return -1 ; } }
public class Demo {public static void main(String args[]) {char c = 'A' ;int num = 10 ;switch(c) {case 'B' : num ++ ;case 'A' :// 匹配成功,开始执行num ++ ; // num = 11case 'Y' : num ++ ; // num = 12break ;// 因break跳出switchdefault : num -- ; } System.out.println(num) ; } }
public class Demo {public static void main(String args[]) {int sum = 0 ;for (int x = 1 ; x < 10 ; x ++) { sum += x ;if (x % 3 == 0) {continue ; } } System.out.println(sum) ; } }
public class Demo {public static void main(String args[]) {int sum = 0 ;for (int x = 0 ; x < 10 ; x ++) { sum += x ;if (x % 3 == 0) {break ; } } System.out.println(sum) ; } }
Similar to the previous question, but the initial value of i becomes 0, and the continue in if becomes break. Since the remainder of 0 to 3 is 0, we jump out of the loop directly and output the value of sum 0.
The above is the detailed content of Share a Java introductory question. For more information, please follow other related articles on the PHP Chinese website!