Description
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
Questions
-
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
Answer
BDBBA AACDB
Personal analysis
-
Main test
i++
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;
- ##double f = 1.3f;
- A.
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.
B. - char c = "a"
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)
C. - byte b = 257
The range of byte is -128~127. (There is a semicolon missing at the end)
D. - int i = 10
##None# (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!

The class loader ensures the consistency and compatibility of Java programs on different platforms through unified class file format, dynamic loading, parent delegation model and platform-independent bytecode, and achieves platform independence.

The code generated by the Java compiler is platform-independent, but the code that is ultimately executed is platform-specific. 1. Java source code is compiled into platform-independent bytecode. 2. The JVM converts bytecode into machine code for a specific platform, ensuring cross-platform operation but performance may be different.

Multithreading is important in modern programming because it can improve program responsiveness and resource utilization and handle complex concurrent tasks. JVM ensures the consistency and efficiency of multithreads on different operating systems through thread mapping, scheduling mechanism and synchronization lock mechanism.

Java's platform independence means that the code written can run on any platform with JVM installed without modification. 1) Java source code is compiled into bytecode, 2) Bytecode is interpreted and executed by the JVM, 3) The JVM provides memory management and garbage collection functions to ensure that the program runs on different operating systems.

Javaapplicationscanindeedencounterplatform-specificissuesdespitetheJVM'sabstraction.Reasonsinclude:1)Nativecodeandlibraries,2)Operatingsystemdifferences,3)JVMimplementationvariations,and4)Hardwaredependencies.Tomitigatethese,developersshould:1)Conduc

Cloud computing significantly improves Java's platform independence. 1) Java code is compiled into bytecode and executed by the JVM on different operating systems to ensure cross-platform operation. 2) Use Docker and Kubernetes to deploy Java applications to improve portability and scalability.

Java'splatformindependenceallowsdeveloperstowritecodeonceandrunitonanydeviceorOSwithaJVM.Thisisachievedthroughcompilingtobytecode,whichtheJVMinterpretsorcompilesatruntime.ThisfeaturehassignificantlyboostedJava'sadoptionduetocross-platformdeployment,s

Containerization technologies such as Docker enhance rather than replace Java's platform independence. 1) Ensure consistency across environments, 2) Manage dependencies, including specific JVM versions, 3) Simplify the deployment process to make Java applications more adaptable and manageable.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 English version
Recommended: Win version, supports code prompts!