欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊

 更新時(shí)間:2022年01月18日 15:06:50   作者:後物  
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java實(shí)現(xiàn)簡(jiǎn)單俄羅斯方塊的具體代碼,供大家參考,具體內(nèi)容如下

結(jié)合網(wǎng)上的資料剛做完課程設(shè)計(jì),具體代碼如下:

public class TetrisPanel extends JPanel{
? ? private final int[][] map = new int[13][23];// map[列號(hào)][行號(hào)]。真正的方塊區(qū)是:21行*10列。邊框(2列,1行)
? ? // 方塊的形狀:
? ? // 第一維代表方塊類(lèi)型(包括7種:S、Z、L、J、I、O、T)
? ? // 第二`在這里插入代碼片`維代表旋轉(zhuǎn)次數(shù)
? ? // 第三四維代表方塊矩陣
? ? // shapes[type][turnState][i] i--> block[i/4][i%4]
? ? int[][][] shapes = new int[][][] {
? ? ? ? ? ? /*
? ? ? ? ? ? ?* 模板 { {0,0,0,0,0,0,0,0, 0,0,0,0, 0,0,0,0}, {0,0,0,0,0,0,0,0, 0,0,0,0,
? ? ? ? ? ? ?* 0,0,0,0}, {0,0,0,0,0,0,0,0, 0,0,0,0, 0,0,0,0}, {0,0,0,0,0,0,0,0, 0,0,0,0,
? ? ? ? ? ? ?* 0,0,0,0} }
? ? ? ? ? ? ?*/
? ? ? ? ? ? // I
? ? ? ? ? ? { { 1, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0 },
? ? ? ? ? ? ? { 1, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0 } },
? ? ? ? ? ? // S
? ? ? ? ? ? { { 0, 0, 1, 1,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 0, 1, 1,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // Z 第3行: shapes[2][2][]
? ? ? ? ? ? { { 1, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 1, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // J
? ? ? ? ? ? { { 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // O
? ? ? ? ? ? { { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // L
? ? ? ? ? ? { { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 0, 0, 1,
? ? ? ? ? ? ? ? 0, 1, 1, 1,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } },
? ? ? ? ? ? // T
? ? ? ? ? ? { { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 0, 0, 0,
? ? ? ? ? ? ? ? 1, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 },
? ? ? ? ? ? ? { 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 1, 1, 0,
? ? ? ? ? ? ? ? 0, 1, 0, 0,
? ? ? ? ? ? ? ? 0, 0, 0, 0 } } };

? ? private int type;
? ? private int turnState;
? ? private int x, y;// 當(dāng)前塊的位置---左上角的坐標(biāo)
? ? private int score = 0;

? ? TimerListener listener1 = new TimerListener(); ? ?//監(jiān)聽(tīng)器
? ? Timer timer = new Timer(1000, listener1); ?//定時(shí)器

? ? public TetrisPanel() {
? ? ? ? newGame();
? ? ? ? nextBlock();
? ? ? ? timer.start();
? ? }

? ? void newGame() {
? ? ? ? // 初始化游戲地圖
? ? ? ? for (int i = 0; i < 12; i++) { ?//列
? ? ? ? ? ? for (int j = 0; j < 21; j++) { ?//行
? ? ? ? ? ? ? ? if (i == 0 || i == 11) {// 邊框
? ? ? ? ? ? ? ? ? ? map[i][j] = 1; ?//透明度
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? map[i][j] = 0;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? map[i][21] = 1;
? ? ? ? }
? ? ? ? score = 0;
? ? }

? ? void nextBlock() {
? ? ? ? type = (int) (Math.random() * 1000) % 7; // 總共七種類(lèi)型
? ? ? ? turnState = (int) (Math.random() * 1000) % 4; // 總共四種轉(zhuǎn)換方法

? ? ? ? x = 3; ? //起始下落坐標(biāo)
? ? ? ? y = 0;
? ? ? ? if (crash(x, y, type, turnState) == 0) {
? ? ? ? ? ? timer.stop();
? ? ? ? ? ? int op = JOptionPane.showConfirmDialog(null,
? ? ? ? ? ? ? ? ? ? "Game Over!...再來(lái)一局嗎?!","提示",JOptionPane.YES_NO_OPTION);
? ? ? ? ? ? if (op == JOptionPane.YES_OPTION) {
? ? ? ? ? ? ? ? newGame();
? ? ? ? ? ? ? ? listener1 = new TimerListener();
? ? ? ? ? ? ? ? Timer timer = new Timer(1000, listener1);
? ? ? ? ? ? ? ? timer.start();
? ? ? ? ? ? } else if (op == JOptionPane.NO_OPTION) {
? ? ? ? ? ? ? ? System.exit(0);
? ? ? ? ? ? }
? ? ? ? }
? ? }

? ? void down() {
? ? ? ? if (crash(x, y + 1, type, turnState) == 0) {// 判斷當(dāng)前塊往下落一格后是否和地圖存在填充塊完全重合---注意實(shí)參:y+1
? ? ? ? ? ? add(x, y, type, turnState);// 把該塊加到地圖---形成堆積塊
? ? ? ? ? ? nextBlock();
? ? ? ? } else {
? ? ? ? ? ? y++;
? ? ? ? }
? ? ? ? repaint(); ? ?//刷新頁(yè)面
? ? }

? ? void left() {
? ? ? ? if (x >= 0) {
? ? ? ? ? ? x -= crash(x - 1, y, type, turnState);
? ? ? ? }
? ? ? ? repaint();
? ? }

? ? void right() {
? ? ? ? if (x < 8) {
? ? ? ? ? ? x += crash(x + 1, y, type, turnState);
? ? ? ? }
? ? ? ? repaint();
? ? }
? ? void turn() {
? ? ? ? if (crash(x, y, type, (turnState + 1) % 4) == 1) {
? ? ? ? ? ? turnState = (turnState + 1) % 4;
? ? ? ? }
? ? ? ? repaint();
? ? }

? ? // 讓一個(gè)塊堆積,其實(shí)是把當(dāng)前塊中的填充塊信息記錄到map[][]中
? ? private void add(int x, int y, int type, int turnState) {
? ? ? ? for (int a = 0; a < 4; a++) {
? ? ? ? ? ? for (int b = 0; b < 4; b++) {
? ? ? ? ? ? ? ? if (shapes[type][turnState][a * 4 + b] == 1) {
? ? ? ? ? ? ? ? ? ? map[x + b + 1][y + a] = 1;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? tryDelLine();
? ? }

? ? // 消塊
? ? private void tryDelLine() {
? ? ? ? // 從上往下,一行行依次遍歷,如果某一行的map[i][j]值全是1,則把這一行消掉---上一行往下落
? ? ? ? for (int b = 0; b < 21; b++) {
? ? ? ? ? ? int c = 1;
? ? ? ? ? ? for (int a = 0; a < 12; a++) {
? ? ? ? ? ? ? ? c &= map[a][b];
? ? ? ? ? ? }
? ? ? ? ? ? if (c == 1) {// 全是1--下落一行
? ? ? ? ? ? ? ? score += 10;
? ? ? ? ? ? ? ? for (int d = b; d > 0; d--) {
? ? ? ? ? ? ? ? ? ? for (int e = 0; e < 11; e++) {
? ? ? ? ? ? ? ? ? ? ? ? map[e][d] = map[e][d - 1];
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? }

? ? private int crash(int x, int y, int blockType, int turnState) {
? ? ? ? for (int a = 0; a < 4; a++) {
? ? ? ? ? ? for (int b = 0; b < 4; b++) {
? ? ? ? ? ? ? ? if ((shapes[blockType][turnState][a * 4 + b] & map[x + b + 1][y + a]) == 1) {// 和填充塊或框架重合,都算碰撞
? ? ? ? ? ? ? ? ? ? return 0; // 碰撞了---方塊的填充塊和地圖中的填充塊完全重合
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return 1;// 沒(méi)有碰撞
? ? }

? ? // 表現(xiàn)層
? ? @Override
? ? public void paint(Graphics g) {
? ? ? ? super.paint(g);// 清除殘影

? ? ? ? // 畫(huà)當(dāng)前塊
? ? ? ? for (int j = 0; j < 16; j++) {
? ? ? ? ? ? if (shapes[type][turnState][j] == 1) {
? ? ? ? ? ? ? ? g.setColor(Color.green);
? ? ? ? ? ? ? ? g.fillRect((j % 4 + x + 1) * 30, (j / 4 + y) * 30, 30, 30);
? ? ? ? ? ? }
? ? ? ? }

? ? ? ? // 畫(huà)地圖(整個(gè)游戲的方塊區(qū)和邊框)
? ? ? ? for (int i = 0; i < 12; i++) {
? ? ? ? ? ? for (int j = 0; j < 22; j++) {
? ? ? ? ? ? ? ? if (map[i][j] == 1) {
? ? ? ? ? ? ? ? ? ? g.setColor(Color.black); ? ?//邊框,墻體
? ? ? ? ? ? ? ? ? ? g.fillRect(i * 30, j * 30, 30, 30);// 填充
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? // 顯示分?jǐn)?shù),同時(shí)為版面美觀,在界面上再加點(diǎn)東西
? ? ? ? // 畫(huà)方塊區(qū)右側(cè)部分
? ? ? ? g.setColor(Color.blue);
? ? ? ? g.setFont(new Font("aa", Font.BOLD, 26));
? ? ? ? g.drawString("score : " + score, 395, 100);

? ? ? ? //畫(huà)游戲區(qū)的線(xiàn)格
? ? ? ? for (int i = 1; i < 11; i++) {
? ? ? ? ? ? for (int j = 0; j < 21; j++) {
? ? ? ? ? ? ? ? g.setColor(Color.CYAN);
? ? ? ? ? ? ? ? g.drawRect(i * 30, j * 30, 30, 30);
? ? ? ? ? ? }
? ? ? ? }
? ? }

? ? class TimerListener extends KeyAdapter implements ActionListener {
? ? ? ? @Override
? ? ? ? public void keyPressed(KeyEvent e) {
? ? ? ? ? ? switch (e.getKeyCode()) {
? ? ? ? ? ? ? ? case KeyEvent.VK_DOWN:
? ? ? ? ? ? ? ? case KeyEvent.VK_S:
? ? ? ? ? ? ? ? ? ? down();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case KeyEvent.VK_LEFT:
? ? ? ? ? ? ? ? case KeyEvent.VK_A:
? ? ? ? ? ? ? ? ? ? left();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case KeyEvent.VK_RIGHT:
? ? ? ? ? ? ? ? case KeyEvent.VK_D:
? ? ? ? ? ? ? ? ? ? right();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case KeyEvent.VK_UP:
? ? ? ? ? ? ? ? case KeyEvent.VK_W:
? ? ? ? ? ? ? ? ? ? turn();
? ? ? ? ? ? }
? ? ? ? }

? ? ? ? @Override
? ? ? ? public void actionPerformed(ActionEvent e) {
? ? ? ? ? ? down();
? ? ? ? }
? ? }
}
public class Tetris extends JFrame {

? ? static JButton button1 = new JButton("重來(lái)");
? ? static JButton button2 = new JButton("暫停");
? ? static JButton button3 = new JButton("退出");

? ? static int flag = 0;
? ? Tetris(){
? ? ? ? setTitle("俄羅斯方塊");
? ? ? ? setVisible(true);
? ? ? ? setLocation(450, 100);
? ? ? ? setDefaultCloseOperation(EXIT_ON_CLOSE);
? ? ? ? setSize(550, 697);
? ? ? ? setResizable(false);
? ? ? ? setFocusable(true); ?//表明此 Component 是否可以獲得焦點(diǎn)
? ? }
? ? public static void main(String[] args) {
? ? ? ? Tetris te = new Tetris();
? ? ? ? TetrisPanel tp = new TetrisPanel();
? ? ? ? te.add(tp);

? ? ? ? button1.setBounds(390,300,120,40);
? ? ? ? button2.setBounds(390,390,120,40);
? ? ? ? button3.setBounds(390,480,120,40);
? ? ? ? button1.setFocusable(false);
? ? ? ? button2.setFocusable(false);
? ? ? ? tp.add(button1);
? ? ? ? tp.add(button2);
? ? ? ? tp.add(button3);
? ? ? ? tp.setLayout(null);
? ? ? ? te.addKeyListener(tp.listener1); // 讓框架來(lái)監(jiān)聽(tīng)鍵盤(pán)

? ? ? ? button1.addActionListener(e -> {
? ? ? ? ? ? if(e.getSource() == button1){
? ? ? ? ? ? ? ? tp.timer.stop();
? ? ? ? ? ? ? ? int a = JOptionPane.showConfirmDialog(null, "確定要重新開(kāi)始嗎?","提示",JOptionPane.YES_NO_OPTION);
? ? ? ? ? ? ? ? if(a == JOptionPane.YES_OPTION){
? ? ? ? ? ? ? ? ? ? button2.setText("暫停");
? ? ? ? ? ? ? ? ? ? tp.timer.start();
? ? ? ? ? ? ? ? ? ? tp.newGame();
? ? ? ? ? ? ? ? ? ? tp.nextBlock();
? ? ? ? ? ? ? ? }else if(a == JOptionPane.NO_OPTION){
? ? ? ? ? ? ? ? ? ? System.exit(0);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? button2.addActionListener(e -> {
? ? ? ? ? ? if(e.getSource() == button2){
? ? ? ? ? ? ? ? if(flag == 0){
? ? ? ? ? ? ? ? ? ? button2.setText("繼續(xù)游戲");
? ? ? ? ? ? ? ? ? ? tp.timer.stop();
? ? ? ? ? ? ? ? ? ? flag = 1;
? ? ? ? ? ? ? ? }else if(flag == 1){
? ? ? ? ? ? ? ? ? ? button2.setText("暫停");
? ? ? ? ? ? ? ? ? ? tp.timer.start();
? ? ? ? ? ? ? ? ? ? flag = 0;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? button3.addActionListener(e -> {
? ? ? ? ? ? if(e.getSource() == button3){
? ? ? ? ? ? ? ? tp.timer.stop();
? ? ? ? ? ? ? ? int a = JOptionPane.showConfirmDialog(null,"確定要退出游戲嗎?","退出",JOptionPane.YES_NO_OPTION);
? ? ? ? ? ? ? ? if(a == JOptionPane.YES_OPTION){
? ? ? ? ? ? ? ? ? ? System.exit(0);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? });
? ? }
}

代碼實(shí)現(xiàn)效果如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java線(xiàn)程死鎖實(shí)例及解決方法

    Java線(xiàn)程死鎖實(shí)例及解決方法

    這篇文章主要介紹了Java線(xiàn)程死鎖實(shí)例及解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java 創(chuàng)建動(dòng)態(tài)類(lèi)和查看方法列表信息的實(shí)例

    Java 創(chuàng)建動(dòng)態(tài)類(lèi)和查看方法列表信息的實(shí)例

    這篇文章主要介紹了 Java 創(chuàng)建動(dòng)態(tài)類(lèi)和查看方法列表信息的實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • SpringBoot通過(guò)源碼探究靜態(tài)資源的映射規(guī)則實(shí)現(xiàn)

    SpringBoot通過(guò)源碼探究靜態(tài)資源的映射規(guī)則實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot通過(guò)源碼探究靜態(tài)資源的映射規(guī)則實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Java內(nèi)存結(jié)構(gòu)和數(shù)據(jù)類(lèi)型

    Java內(nèi)存結(jié)構(gòu)和數(shù)據(jù)類(lèi)型

    本文重點(diǎn)給大家介紹java內(nèi)存結(jié)構(gòu)和數(shù)據(jù)類(lèi)型知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2016-12-12
  • SpringDataJpa寫(xiě)原生sql遇到的問(wèn)題及解決

    SpringDataJpa寫(xiě)原生sql遇到的問(wèn)題及解決

    這篇文章主要介紹了SpringDataJpa寫(xiě)原生sql遇到的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 使用chatgpt實(shí)現(xiàn)微信聊天小程序的代碼示例

    使用chatgpt實(shí)現(xiàn)微信聊天小程序的代碼示例

    這篇文章主要介紹了使用chatgpt實(shí)現(xiàn)微信聊天小程序(秒回復(fù)),文中有詳細(xì)的代碼示例,對(duì)大家了解chatgpt聊天有一定的幫助,感興趣的同學(xué)可以參考閱讀
    2023-05-05
  • 解析Mybatis判斷表達(dá)式源碼分析

    解析Mybatis判斷表達(dá)式源碼分析

    這篇文章主要介紹了Mybatis判斷表達(dá)式源碼分析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • java中jdk的下載和安裝全過(guò)程

    java中jdk的下載和安裝全過(guò)程

    這篇文章主要給大家介紹了關(guān)于java中jdk的下載和安裝的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • IDEA POJO開(kāi)發(fā)神器之Groovy的使用詳解

    IDEA POJO開(kāi)發(fā)神器之Groovy的使用詳解

    這篇文章主要介紹了IDEA POJO開(kāi)發(fā)神器之Groovy的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 淺談java中為什么實(shí)體類(lèi)需要實(shí)現(xiàn)序列化

    淺談java中為什么實(shí)體類(lèi)需要實(shí)現(xiàn)序列化

    下面小編就為大家?guī)?lái)一篇淺談java中為什么實(shí)體類(lèi)需要實(shí)現(xiàn)序列化。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05

最新評(píng)論