# 英特內軟體股份有限公司
* 面試職位:前端軟體工程師
* 面試時間:2021 年07月 21日 下午14點00分
* 面試地址:線上面試
* 面試者:Fanny
* 面試結果:還未面試
* 公司資訊:https://www.104.com.tw/company/18lpfdc0
7/19 12:00 有傳面試題目要我當天繳交
### **題目:**





### **我的作答:**
(一)
無法執行,因為main方法為程式進入點,存取修飾詞必須設為public才可執行。
(二)
public:
Java透過不同存取權限來實現封裝性,public表示任何場合都可以被引用。
static:
靜態修飾詞的主要用途為創造類別方法以及類別變數。加上靜態修飾詞的變數,在Java中的記憶體會規劃至靜態域中;與一般的變數不同,被創建至靜態域的變數只會有一個實體,且在程式執行的初期便產生,直到程式結束才會釋放 。
void:
代表main方法不需要回傳值。
main:
方法的名稱。
(String[] args):
這個方法必須可以接受數目不定的String型別的引數,因為執行者可能要附加執行引數。
(三)
```java=
public static void foo(){
int sum=0;
for (int i = 50; i <= 100; i++) {
if((i%3==0)&&(i%2!=0)){
sum+=i;
}
}
System.out.println(sum);
}
```
(四)
```java=
public static int add(String a, String b){
int sum;
int c=0;
try {
c = Integer.parseInt(a);
} catch (NumberFormatException e) {
}
int d=0;
try {
d = Integer.parseInt(b);
} catch (NumberFormatException e) {
}
sum=c+d;
return sum;
}
```
(五)
會報錯誤,因為少了兩個右大括號,方法內容需要完整的用大括號包住ex:{}
Java進階應用
(一)
(1)
```java=
Set<String> keyset=htNumber.keySet();
for (String key:keyset) {
System.out.println(key+" "+htNumber.get(key));
}
```
(2)
```java=
System.out.println(htNumber.size());
```
(3)
```java=
Set<String> keyset=htNumber.keySet();
boolean flag=false;
for (String key:keyset) {
if(htNumber.get(key).equals(2)){
flag=true;
}
}
```
(4)
```java=
Set<String> keyset=htNumber.keySet();
for (int i = 0; i < arrValues.length; i++) {
boolean flag=true;
for (String key:keyset) {
if(arrValues[i].equals(key)){
flag=false;
break;
}
}
if(flag){
htNumber.put(arrValues[i],new Integer(keyset.size()+1));
}
}
```
(6) 印出v1更改後的記憶體位置
SQL
(一)
(1) select ID,NAME,TEL from AUTHOR where NAME like '王%'
邏輯能力
(一)
true
false
true
true
false
false
true
true
false
true
(二)
&&和&都是表示“與”,區別是&&只要第一個條件不滿足,後面條件就不再判斷。而&要對所有的條件都進行判斷。
||和|都是表示“或”,區別是||只要滿足第一個條件,後面的條件就不再判斷,而|要對所有的條件進行判斷。
&&是英文的and 表條件都要符合,||是英文的or表示條件只要有一個成立就符合。
(三)
(1)(0,0)->0 (0,1)->0 (1,0)->0 (1,1)->1
(2)(0,0)->0 (0,1)->1 (1,0)->1 (1,1)->1
(3)(0)->1 (1)->0
(四)
1. ==是運算子
2. equals是String物件的方法
當用 == 進行比較的時候,比較的是他們在記憶體中的存放地址,如果是同一個new出來的物件,他們的比較後的結果為true,否則結果為false。 java所有的類都是繼承於Object,在Object中定義了一個equals的方法,這個方法的初始行為是比較物件的記憶體位址,但類別被覆寫:如String,Integer,Date在這些類當中equals有其自身的實現,而不再是比較類在堆記憶體中的存放地址了。
對於複合資料型別之間進行equals比較,在沒有覆寫equals方法的情況下,他們之間的比較還是基於他們在記憶體中的存放位置的地址值的,因為Object的equals方法也是用雙等號 == 進行比較的,所以比較後的結果跟雙等號 == 的結果相同。