一些java基础知识

基本数据类型和转化关系:(盗个图)

(1)表数范围的数值或变量直接赋给表数范围的自动转换,否则强制转换。

(2)和字符串的连接运算,会自动转换成字符串类型。

(3)浮点数转换成整型,小数部分自动截断。

(4)关于整型默认是int,关于浮点数默认是double。

(5)整数值:有四种,二进制0b或0B开头,八进制0开头,十六进制0x或0X开头,普通十进制。

(6)八种包装类:一般首字母大写,特殊:char(Character),int(Integer)。Xxxxxx.parseXxx(String)可以将String对象转成Xxx类型。


一些java基础知识

逻辑运算符:返回boolean型(true,false)

  &:左边无论真假,右边都进行计算。

  &&:左边为假,右边不进行计算。

   |:左边无论真假,右边都进行计算。

   ||:左边为真,右边不进行计算。

   !:非

  >>:二进制(补)码右移,左边空出来的符号位以原符号位补上。

 >>>:无符号右移运算符,左空用0补。

  <<:二进制码左移,右空用0补。

  三目运算符(返回设定的statement值):

                                                   (expression)?if-true-statement:if-false-statement;

                                                      String str=(5>3)?"五比三大":"五比三小";

其他的用得少就不总结了。



直接量:八种(int,long,double,float,boolean,char,double,null,String),可以指定直接量;注意系统第一次使用某个字符串常量时会创建线程池保存这个常量。



循环结构:

(1)break语句会终止当前循环。

(2)java中的标签放在循环语句之前才有用,break接标签可以跳出外层循环。

(3)continue忽略当前循环的剩下语句,执行下次循环。

(4)continue接标签:跳过标签循环的当次循环的剩余语句,开始下次循环。



数组介绍:

(1)foreach循环:

    for (type variablename :array){//do somthing about variablename}

 (2)具体使用可以参考下面的控制台五子棋:

 Java Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package gobang;
import java.io.BufferedReader;
import java.io.InputStreamReader;



public class Gobang {
    private static int BOARD_SIZE=20;
    private String[][] board;
    public void initBoard()
    {
        this.board=new String[BOARD_SIZE][BOARD_SIZE];
        for(int i=0;i<BOARD_SIZE;i++)
        {
            for(int j=0;j<BOARD_SIZE;j++)
            {
                board[i][j]="+";
            }
        }
    }
    public void printBoard()
    {
        for(int i=0;i<BOARD_SIZE;i++)
        {
            for(int j=0;j<BOARD_SIZE;j++)
            {
                System.out.print(this.board[i][j]);
            }
            System.out.print("\n");
        }
    }
    public void setPoint(int x,int y)
    {
        this.board[x][y]="@";
    }

    public String checkPoint(int x,int y)
    {  
        int k=0;
        String aString="win";
        String bString="do not win";
        for(int i=-4;i<5;i++)
        {
            if ((x+i>=0)&&(x+i<20)&&this.board[x+i][y]=="@")
            {
                k++;
                if (k==5)
                {
                    System.out.println("you win");
                    return aString;
                }
            }
            else k=0;
            if(i==5)
            {
                k=0;
            }
        }
        for(int j=-4;j<5;j++)
        {
            if ((y+j>=0)&&(y+j<20)&&this.board[x][y+j]=="@")
            {
                k++;
                if (k==5)
                {
                    System.out.println("you win");
                    return aString;
                }
            }
            else k=0;
            if(j==4)
            {
                k=0;
            }
        }
        for(int m=-4;m<5;m++)
        {
            if ((y+m>=0)&&(y+m<20)&&(x+m>=0)&&(x+m<20)&&this.board[x+m][y+m]=="@")
            {
                k++;
                if (k==5)
                {
                    System.out.println("you win");
                    return aString;
                }
            }
            else k=0;
            if(m==4)
            {
                k=0;
            }
        }
        for(int n=-4;n<5;n++)
        {
            if ((y+n>=0)&&(y+n<20)&&(x-n>=0)&&(x-n<20)&&this.board[x-n][y+n]=="@")
            {
                k++;
                if (k==5)
                {
                    System.out.println("you win");
                    return aString;
                }
            }
            else k=0;
            if (n==4)
            {   //例如(第四行,第三列),则输入4 3,ENTER结束
                System.out.println("输入您的坐标,以空格隔开");
            }
        }
        return bString;
    }
    public static void main(String[] args) throws Exception 
    {   
        String result;
        Gobang gb=new Gobang();
        gb.initBoard();
        gb.printBoard();
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        String inputStr=null;
        while((inputStr=br.readLine())!=null)
        {
            String []posArr=inputStr.split(" ");
            int x=Integer.parseInt(posArr[0]);
            int y=Integer.parseInt(posArr[1]);
            if (x==-1&&y==-1)
            {
                return;
            }
            gb.setPoint(x,y);
            gb.printBoard();
            result=gb.checkPoint(x, y);
            if (result=="win"return;
            
            
        }
    }
}
下面是结果图:

一些java基础知识