Java基礎_03

1:問題java

import java.util.Scanner;//導入工具包中的Scanner正則表達式

public class Hello{oracle

   public static void main(String[] args){eclipse

      Scanner sc = new Scanner(System.in);工具

      //聲明一個名稱,讓它等於null編碼

      String name = null;//沒有值,指向內存的一個特別的空間spa

      while(name==null || name.equals("")){//若是name==null,或是"".net

          System.out.println("請輸入你的姓名");orm

          name = sc.nextLine();對象

      }

      System.out.println("name is  "+name);//Java代碼中,串聯字符串,就是+

      //不要管年齡的數據類型,只要接收字符串

       String age = null;//沒有值,指向內存的一個特別的空間

      while(age==null || age.equals("")){//若是name==null,或是""

          System.out.println("請輸入你的Age");

          age = sc.nextLine();//sc.nextInt();不要使用方法

      }

      System.out.println("age is  "+age);//Java代碼中,串聯字符串,就是+

    

   }

}

 

2:數據類型

 

如下,若是聲明在方法裏面的變量,則爲局部變量,必需要設置值之後才能夠使用:

 

類型

取值範圍

示例

byte

-128 ~ 127

byte b = 4;

char

0 ~ 0xffff

char c = ‘A’;

char c = ‘’;

char c = ‘\u0000’

short

---

short s =1;

short s = 90;

int

-2E32 ~ 2E32-1

Int a = 90;

Int b = 89;

Java代碼裏,直接聲明的數字,沒有小數位的,都默認是int類型。

long

-2E63 ~ 2E63-1

Long x = 56L;

Long y = 534L;

float

單精度

float x = 45.3F;

double

雙精度

Double d1 = 45;

Double d2 = 45.6;

Double d3 = 45.3D;

boolean

True | false

Boolean boo = true;

Boolean boo = false;

 

 

Java中有幾種直接數:

   String name = 「Jack 「; 其中Jack就是直接數。這個直接數的默認的類型是 String

45        - int

45L  long

45F  float

45D  double

45.4         double

 

  

命令選項

Javac命令

-d   將編譯後的源代碼,放到它的包下,自動的建立目錄結構

Javac –d  .  Stud.java

Javac –d .\bin Stud.java放到

Java命令

Java –classpath

Classpath是指定*.class文件在哪兒

java -classpath c:\ com.oracle.Stud

 

 

3.目前開發Java比較流行的工具

  下載Eclipse

www.eclipse.org

 

classic

javaee版本- 這個版本- 企業版本。

 

配置編碼類型-將所編碼設置utf-8編碼:

編碼

GBK/GB2312 – 國標擴展/

中國定義的編碼類型

一箇中文 兩個字節

– 2 byte

UTF-8

國際編碼識別全部文字

佔的字節比較長

一箇中文點三個字節

– 3 byte

Iso-8859-1

不認識中文。


 

package cn.oracle; 

public class Hello {

    public static void main(String[] args) {

        System.out.println("Hello");

    }

}

 

快捷key:

 ATL+/ - 萬能幫助。

 

package cn.oracle;

 

public class Hello {

    public static void main(String[] args) {

        System.out.println("helldlddldl");

    }

}

 

 

 4.數據類型的運算

運算符號

示例

兩元運算符號

 +  -   *  /

 

 

 

 

 

 

 

 

 

取模 取餘數

 

 

 

 

 

 

+ 不但能夠進行數值類型的運算,還能夠進行字符串的串聯:

 

 

 

 

 

 

 

>> 位運算 右位移

<<        左位移

 / 若是 int類型相除,只會獲取int部分。

    int a = 10;

        int b = 4;

        int c = a/b;//都是int

        System.err.println(c);//2

 

+ 兩數相加 結果爲 較大一方的數據類型或是int(最小是int)

    int x1 = 10;

        int x2 =7;

        int x3 = x1%x2;

        //能夠經過 %2的方式來判斷是不是偶數

        System.out.println(x3);//1

 

    //全部類型均可以進行+操做

        int a = 1;

        int b = 45;

        String str = "Hello";

        String ss = a+b+str;

        System.err.println(ss);//46Hello

        ss = str+a+b;

        System.err.println(ss);//Hello145

 

 

>> 位運算 右位移 數變小

一元操做符號:

 ++    some++ : some= som+1

 - -    some-- : some=som-1;

 

 

 

 

 

 

 

 

~ 按位取反

   0000110

   1111001

++  - +1 ,再用這個數

++    先用這個數,再+1

    int a = 1;

        int b = a++;//先將a的值設置給b,再作a++

        System.err.println(b+" a is:"+a);//1,2

        int c = ++a;

        System.err.println("c is :"+c+", a is:"+a);//3,3

邏輯運算

  > < <= >=   - 這些只用於比較數值類型 intbytechar,shot,float double

 = = 能夠比較數值類型,也能夠比較對象類型 比較是兩個對象的內存地址是否同樣。

    @Test

    public void test4() {

        String name = "Jack";//直接數

        String name2 = new String("Jack");//使用new關鍵字分配新的內存地址

        System.err.println(name==name2);//false - 比較內存地址是否同樣

        System.err.println(name.equals(name2));//比較裏面的內容是否同樣 - true

    }

 

 

 

5:要求用戶輸入它的姓名,+年齡

可是要求用戶的輸入的年齡必須是合法的年齡

年齡不是 負數。 存在在必定的範圍 :1~100

     如何驗證用戶輸入的字符串是 數字?正則表達式。

     如何將一個字符串轉成int類型 Integer.parseInt(…) : int   - 對於字符串到 int的轉換不能是強轉 (int)String;

要求輸入的姓名,且姓名必需要達到6個字符。

     Name.length <6

 

   @Test

   public void test5() {

      Scanner sc = new Scanner(System.in);

      while (true) {

         System.err.println("plz enter age:");

         String age = sc.nextLine();

         boolean bo = age.matches("\\d{1,3}");// 正則表達式

         if (bo == false) {// 不是數字

            System.err.println("plz enter some int...");

            continue;

         }

         // 轉成int

         int age2 = Integer.parseInt(age);

         if (age2 < 1 || age2 > 100) {

            System.err.println("plz enter some int in 1..100");

            continue;

         }

         System.err.println("your age is ok:" + age);

         break;

      }

}

相關文章
相關標籤/搜索