基於類型,能夠強轉成基本類型。 java
引用類型能夠強轉成引用類型。 數組
可是:oracle
交互轉換是不可行的,就是說反之不能夠。函數
Int轉換:工具
String age ="45";//聲明一個String字符串類型的變量加密
int age2 = Integer.parseInt(age);//將String類型轉成int的基本類型spa
Integer age3 =Integer.valueOf(age);//將String類型轉成Integer的引用類型.net
Integer對象
不但能夠可將String 轉成 int,Integer還能夠在各類進制之間進行轉換:內存
二進制:
public void test1() {
int a = 15;// 1111
// 將它轉成二進制
String bin = Integer.toBinaryString(a);
System.err.println(bin);
//轉成8進制
String otc = Integer.toOctalString(a);
System.err.println(otc);
//轉成16進制
String hex = Integer.toHexString(a);//f
System.err.println(hex);
}
Md5加密。
註冊:
姓名:Jack
密碼:1234 - > Jack 1234 – 數據 - 》 SHA RAS MD5
<登陸>
int a = 15;// 1111
// 將它轉成二進制
String bin = Integer.toBinaryString(a);
System.err.println(bin);
//轉成8進制
String otc = Integer.toOctalString(a);
System.err.println(otc);
//轉成16進制
String hex = Integer.toHexString(a);//f
System.err.println(hex);
1:變量的分類:
按聲明的位置爲爲:
成員變量
局部變量。
package cn.oracle;
public class Demo02_Var {
//在類裏面聲明的變量叫成員變量 //有默認值,使用前不必定要賦值
String name;
//在方法裏面聲明的變量叫局部變量 //沒有默認值,使用前必須賦值
public void hi(){
String name;
}
}
2:只有成員變量纔會有默認值,局部變量必需要賦值之後纔可使用
類型 |
默認值 |
Byte,short,int,long |
0 |
Float |
0.0F |
Double |
0.0D |
char |
‘’ |
boolean |
false |
引用類型 |
null |
package cn.oracle;
import org.junit.Test;
public class Demo02_Var {
byte a1;
char c1;//'' \??
short s1;
int a2;
long a3;
float f1;
double d1;
boolean boo;
//以上全爲成員變量,因此在沒有賦值的狀況下,是有默認值的。
public void test() {
System.err.println(a1);// 0
System.err.println(c1);//??
System.err.println(s1);//0
System.err.println(a2);//0
System.err.println(a3);//0
System.err.println(f1);//0.0
System.err.println(d1);//0.0
System.err.println(boo);//false
}
}
package cn.oracle;
import org.junit.Test;
public class Demo02_Var {
byte a1;
char c1;// '' \??
short s1;
int a2;
long a3;
float f1;
double d1;
boolean boo;
String name;
int[] aa1;// 引用類型
int[] aa2 = new int[1];// 聲明一個數組,實例化它即有地址了,裏面最多放一個數,即下標爲[0]
Integer[] aa3 = new Integer[1];// 引用類型的數組類型
boolean[] bs1 = new boolean[1];
Boolean[] bs2 = new Boolean[1];
public void test() {
System.err.println(bs1);//有
System.err.println(bs1[0]);//false
System.err.println(bs2);//有
System.err.println(bs2[0]);//null
System.err.println(a1);// 0
System.err.println(c1);//
System.err.println(s1);// 0
System.err.println(a2);// 0
System.err.println(a3);// 0
System.err.println(f1);// 0.0
System.err.println(d1);// 0.0
System.err.println(boo);// false
System.err.println(name);// null - > name變量沒有指向任意內存地址
System.err.println(aa1);// null
System.err.println(aa2);// 地址值[I@999999
System.err.println(aa2[0]);// 查看這個數組的第一個值即下標爲0的值是 - >
// 由於int[]裏面放的都是int基本類型它的默認值是0
System.err.println(aa3);// 有內存[java.lang.Integer@9999
System.err.println(aa3[0]);// null
}
}
靜態的修飾符號:
在內存裏面只一份copy的對象-static。
定義兩個成員變量在main方法中調用它們:
變量:
1:根據聲明的位置
成員變量
根據是否添加Static關鍵字
靜態的變量
實例變量- 非靜態的變量。
局部變量。
package cn.oracle;
/**
* 靜態的成員變量與非靜態的成員變量
*/
public class Demo03_StaticVar {
/// 聲明一個靜態的的
static String name = "Jack";
// 聲明一個非靜態的實例的成員變量
String addr = "山東濟南";
// main必須是static
public static void main(String[] args) {
// 因爲main方法與name成員變量,具備相同的static修飾符號
// 因此,在main方法中,能夠直接訪問name變量
System.err.println(name);
//因爲main方法是靜態的,在靜態的方法裏面,不能直接訪問非靜態的任意內容
//System.err.println(addr);//不能夠直接訪問
//若是要訪問一個非靜態的實例的成員變量,則必需要先實例化當前包含成員變量的類
Demo03_StaticVar demo03 = new Demo03_StaticVar();
//經過Demo03的實例來訪問實例成員變量
System.err.println(demo03.addr);//能夠訪問
}
}
If(Boolean 或是 boolean的表達式){
若是爲true執行裏面的代碼
}
If(..){
}else if(….){
}
If(..){
} eslse if(…){ } else if(..) {} else{….}
示例:
輸入成績,顯示結果:
@Test
public void test1(){
int score = 49;
if(score>80){
System.err.println("很好");
}else if(score>60){
System.err.println("合格");
}else{
System.err.println("不合格");
}
}
變量判斷的分支:
Switch接收的變量類型是 int及兼容[小於int]類型
@Test
public void test2() {
int age = 80;
switch (age) {
case 100:
System.err.println("你是100歲");
break;
case 90:
System.err.println("你是90歲");
break;
default:
System.err.println("都是否是");
break;
}
}
在JDK.17之後,就支持String:
@Test
public void test2() {
String age = "90";
switch (age) {
case "100":
System.err.println("你是100歲");
break;
case "90":
System.err.println("你是90歲");
break;
default:
System.err.println("都是否是");
break;
}
}
在Case裏,接收的必須是一個常量 – 不能修改的值:
建議每個case後面都有一個break,程序只有見到break纔會中止 。
@Test
public void test2() {
int age = 189;
switch (age) {
default:
System.err.println("都是否是");
case 100:
System.err.println("你是100歲");
case 89:
System.err.println("你是90歲");
}
}
都是否是
你是100歲
你是90歲
@Test
public void test3() {
int sum = 0;
int i = 1;// 定義增量1.。100
while (i <= 100) {// 若是i小於100就進入執行
sum += i;
// i增長1
i++;
}
System.err.println(sum+","+i);
}
對於while來講,若是while(true){…}死循環
@Test
public void test4() {
int sum = 0;
int i = 1;// 定義增量1.。100
do {
System.err.println("Hello");
sum += i;
i++;
} while (i <= 100);
System.err.println(sum + "," + i);
}
}
For( 1定義變量只執行一次 ; 2 5 8判斷條件 執行屢次 ; 4 7 10增量++ ) {
3 6 9 執行的代碼
}
@Test
public void test5() {
int sum = 0;
for (int i = 1; i <= 100; i++) {//i是局部一,且只能在for裏面使用
sum+=i;
}
System.err.println(sum);
}
}
Break
只能放到while,do..while, for裏面。
用於中止最內層的循環。
@Test
public void test6() {
abc:for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
System.err.println(i + "," + j);
if (j == 1) {
break abc;//中止帶有標號的循環 1,1
}
}
}
}
@Test
public void test6() {
abc: for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (j == 3) {
continue ;//跳過3不輸出,可是還有執行下一次的循環
}
System.err.println(i + "," + j);
}
}
}
@Test
public void test6() {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (j == 3) {
return;//test6方法函數,中止方法的執行
}
System.err.println(i + "," + j);
}
}
}