LEARNING JAVA #10 • TerminalsteemCreated with Sketch.

in #java5 years ago

LEARNING JAVA
Published with SteemPeak

ScreenshotScreenshot by Willi Glenz

LEARNING TRAIL

Language Basics < Getting Started < Index

New     - 2019-04-08 [011 Terminal]
Update  - 2019-04-07 [001 Sources]


011 Terminal

# apt-get install default-jdk default-jdk-doc openjdk-11-jdk openjdk-11-doc
$ java -version; javac -version
# update-java-alternatives -l
# update-java-alternatives -s java-1.11.0-openjdk-amd64
# update-alternatives --display java
# update-alternatives --config java
$ mkdir -p /tmp/java/{tools,test,phoenix};cd /tmp/java; ls -lisa
$ vim Main.java <ctrl>+z fg
$ ( cd /tmp/java/; vim Main.java )


010 ORACLE-TUTORIALS

• Index : docs.oracle.com/javase/tutorial/reallybigindex.html

• Getting Started : docs.oracle.com/javase/tutorial/getStarted
• Language Basics : docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
• OOP Concepts : docs.oracle.com/javase/tutorial/java/concepts/index.html
• Classes and Objects : docs.oracle.com/javase/tutorial/java/javaOO/index.html
• Annotations : docs.oracle.com/javase/tutorial/java/annotations/index.html
• Interfaces and Inheritance: docs.oracle.com/javase/tutorial/java/IandI/index.html
• Numbers and Strings : docs.oracle.com/javase/tutorial/java/data/index.html
• Generics : docs.oracle.com/javase/tutorial/java/generics/index.html
• Packages : docs.oracle.com/javase/tutorial/java/package/index.html
• Exceptions : docs.oracle.com/javase/tutorial/essential/exceptions/index.html
• Basic I/O : docs.oracle.com/javase/tutorial/essential/io/index.html
• Concurrency : docs.oracle.com/javase/tutorial/essential/concurrency/index.html
• Platform Environment : docs.oracle.com/javase/tutorial/essential/environment/index.html
• Regular Expressions : docs.oracle.com/javase/tutorial/essential/regex/index.html
• Collections : docs.oracle.com/javase/tutorial/collections/index.html
• Date & Time : docs.oracle.com/javase/tutorial/datetime/index.html
• Deployment : docs.oracle.com/javase/tutorial/deployment/index.html
• Swing : docs.oracle.com/javase/tutorial/uiswing/index.html
• JavaFX : docs.oracle.com/javase/8/javase-clienttechnologies.htm
• Networking : docs.oracle.com/javase/tutorial/networking/index.html
• Generics : docs.oracle.com/javase/tutorial/extra/generics/index.html
• Internationalization : docs.oracle.com/javase/tutorial/i18n/index.html
• JavaBeans : docs.oracle.com/javase/tutorial/javabeans/index.html
• JDBC : docs.oracle.com/javase/tutorial/jdbc/index.html
• RMI : docs.oracle.com/javase/tutorial/rmi/index.html
• Reflection : docs.oracle.com/javase/tutorial/reflect/index.html
• Security : docs.oracle.com/javase/tutorial/security/index.html
• Sound : docs.oracle.com/javase/tutorial/sound/index.html
• 2D Graphics : docs.oracle.com/javase/tutorial/2d/index.html


009 SWING & JavaFX

SWING
• Bradley Kjell     : chortle.ccsu.edu/java5/Notes/chap55/ch55_1.html
• TutorialsPoint    : tutorialspoint.com/swing/index.htm
• Oracle Trail      : docs.oracle.com/javase/tutorial/uiswing/

JavaFX
• Oracle            : docs.oracle.com/javase/8/javase-clienttechnologies.htm


008 MODIFIER

                Class Package Subclass World
private            ok       -        -     -
default            ok      ok        -     -
protected          ok      ok       ok     -
public             ok      ok       ok    ok


007 BASIC GUI-SNIPPET

package de.wglenz.java;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Main {
    JFrame frame;
    JPanel panelWest;
    JPanel panelCenter;
    JLabel label;
    JButton buttonWest;
    JButton buttonSouth;
    JButton buttonEast;

    public Main() {
        super();

        panelWest = new JPanel();
        panelCenter = new JPanel();
        label = new JLabel("LabelCenter");
        
        buttonWest = new JButton("ButtonWest");
        buttonWest.addActionListener(new Listener1());

        buttonSouth = new JButton("ButtonSouth");
        buttonSouth.addActionListener(new Listener2());

        buttonEast = new JButton("ButtonEast");
        buttonEast.addActionListener(new Listener3());

        frame = new JFrame("Phoenix v 0.003");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(BorderLayout.CENTER, panelCenter);
        frame.getContentPane().add(BorderLayout.WEST, panelWest);
        frame.getContentPane().add(BorderLayout.SOUTH, buttonSouth);
        frame.getContentPane().add(BorderLayout.EAST, buttonEast);
        frame.setSize(1200, 600);
        frame.setVisible(true);
        
        panelCenter.add(label);
        panelWest.add(buttonWest);  }

    public static void main(String... args) {
        Main phoenix = new Main();
        phoenix.run();
    }

    class Listener1 implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            label.setText("ButtonWest: OK");
        }
    }

    class Listener2 implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            label.setText("ButtonSouth: OK");
        }
    }

    class Listener3 implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            label.setText("ButtonEast: OK");
        }
    }

    public void run() {
        //
    }

}


006 VIM

:!javac % && java ClassName
> or
:set makeprg=javac
:make % && java ClassName


005 OPERATORS

Arithmetic      + - * / & ++ --
Relational      == != > < >= <=
Bitwise         & | ^ ~ << >> >>>
Logical         && || !
Assignment      = += -= *= /= %= <<= >>=  &= ^= |=
Miscellaneous   ?: instanceof


004 VIMRC

$ vim ~/.vimrc
> " GENERAL
> syntax on
> filetype on
> filetype plugin on
> set laststatus=2
> set colorcolumn=80
> set nocompatible
> set number
> set relativenumber
> "set cursorline
> set incsearch
> set hlsearch
> set showmode
> set ruler
> set linebreak
> set showcmd
> set mouse=a
> set background=dark
> set encoding=utf8
> 
> " INDENT
> set autoindent
> 
> " TABs
> set tabstop=3
> set softtabstop=3
> set shiftwidth=3
> set expandtab
>
> " JAVA
> set makeprg=javac
> 
> " MAPs
> :nmap <leader>w :w!<cr>
> :map <F2> :echo 'Current time is ' . strftime('%c')<CR>
> :map <F5> :set list!<CR>
> :map <F6> :setlocal spell! spelllang=en_us<CR>
> :ab psv public static void(String[] args) {<cr>}<esc>ko
> :ab sout System.out.println(


003 BASIC CLI-SNIPPET

public class Main {
   private String msg;

   public Main() {
      super();
      this.msg = "Hello World!";
   }

   public static void main(String[] args) {
      Main phoenix = new Main();
      phoenix.run();
   }

   public void run() {
      System.out.println(msg);
   }

}


002 PRIMITIVE DATA TYPES

TYPE        SIZE    RANGE                   DEFAULT CLASS&FIELD
byte        8 bit   -2^7 to 2^7 -1          0
short       16 bit  -2^15 to 2^15 -1        0
int         32-bit  -2^31 to 2^31 -1        0       Integer.MIN_VALUE to Integer.MAX_VALUE
long        64 bit  -2^63 to 2^63-1         0L
float       32 bit  -3.4E38 to 3.4E38       0f
double      64 bit  -1.7E308 to 1.7E308     0d
char        16 bit  '\u0000' to '\uffff'    '\u0000'
                    (0 to 65,565)
boolean     1 bit                           false


001 SOURCES

PRIMARY SOURCES
• Homepage          : oracle.com/java/
• Whitepaper        : oracle.com/technetwork/java/langenv-140151.html
• Download          : oracle.com/technetwork/java/javase/downloads/index.html
• Documentation     : docs.oracle.com/en/java/javase/12/index.html
• API               : docs.oracle.com/en/java/javase/12/docs/api/index.html

TUTORIALS
• Bradley Kjell     : chortle.ccsu.edu/java5/index.html
• TutorialsPoint    : www.tutorialspoint.com/java/index.htm
• JavaTpoint        : www.javatpoint.com/java-tutorial

TOOLS
• IdeOne            : ideone.com
• Eclipse           : eclipse.org

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64400.33
ETH 3140.71
USDT 1.00
SBD 3.93