Java 入门

内容:

1.Java介绍

2.Java安装及环境配置

3.经典的helloworld程序

4.eclipse使用

5.Java基础语法

6.Java基础数据结构

1.Java介绍

Java是一门什么样的语言:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征,另外Java还是一门跨平台的语言

Java特点及用途:

Java特点:简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性 

Java用途:桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

Java三大平台:

  • J2SE
  • J2EE
  • J2ME  

Java中常见术语:

  • JDK:Java Development Kit  Java开发包
  • JVM:Java虚拟机
  • JRE:Java运行时环境
 

 

Java编程工具:

  • Eclipse:一个开放源代码的、基于Java的可扩展开发平台
  • NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用
  • IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能

2.Java安装及环境配置

(1)下载Java

官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

(2)安装JDK

直接运行exe可执行程序,默认安装即可
备注:路径可以选其他盘符,不建议路径包含中文名及特殊符号

(3)配置环境变量(最简单的办法)

在环境变量中添加bin目录(Java安装位置下的jdk文件夹下的bin目录),eg:C:Program Files (x86)Javajdk1.8.0_144in

右键点击文件夹-> 属性 -> 高级系统设置 -> 环境变量 -> 点开下面的:

进去后点击新建把bin目录添加进去就行了

(4)上述配置完成后,win+R打开cmd,输入Java然后回车,如果是下面的显示就证明环境已经配置好了:

3.经典的helloworld程序

(1)新建一个Hello.java文件,输入以下代码:

1 public class Hello{
2     public static void main(String[] args) {
3         System.out.println("Hello World!");
4     }
5 }

(2)在cmd中进入当前当前目录,输入以下命令:

(3)上述命令没有报错就说明没有问题

另外上述两条命令:

  • javac:编译源文件 javac xxx.java
  • java:执行独立程序 java xxx

4.eclipse使用

(1)eclipse安装

下载链接:http://www.eclipse.org/downloads/   直接下载安装

根据自己的系统选择32位还是64位的,点击相应链接下载(可能会弹出一个叫你捐钱的页面,无需理会)

下载完成后,解压安装包,解压路径随意,解压后在解压路径下找到eclipse.exe,把这个文件在桌面创建快捷方式

(2)常用快捷键

 1 ctrl+H 打开文件搜索对话框
 2 alt+? 或 alt+/:自动补全代码或者提示代码
 3 ctrl+o:快速outline视图 查看当前类的方法或某个特定方法
 4 ctrl+shift+r:打开资源列表
 5 ctrl+shift+f:格式化代码
 6 ctrl+e:快速转换编辑器
 7 ctrl+/:自动注释当前行或者选择的多行,自动注释掉当前行或者多行代码,用//注释,用ctrl+可以取消注释。
 8 ctrl+shift+/:自动注释掉选择的代码块
 9 ctrl+d:删除当前行
10 
11 保存:Ctrl+S 
12 保存所有:Ctrl+Shift+S 
13 重命名:Alt+Shift+R
14 变为大/小写:Ctrl+Shift+X/Y
15 改变方法签名:Alt+Shift+C 
16 移动:Alt+Shift+V 

(3)关于工作区 workspace的选择

 

修改工作区:

进入eclipse -> 选择file中的switch workspace即可

(4)创建Java工程

file -> new java project

直接点击finish,最后建好的项目如下:

然后就可以在src文件夹中编写类文件(.java)了

(5)eclipse运行Java

 eclipse可以直接运行Java(eclipse集成了编译和运行):

点击运行后项目目录下会出现一个bin目录,下面是编译好的class文件:

5.Java基础语法

Java基础语法十分类似C语言,基础语法中常用的东西如下:

 1 public class BasicGrammer {
 2     public static void main(String[] args) {
 3         // 常量
 4         final int total = 555;
 5         // final初始化之后不能被改变: 
 6         // total = 333;
 7         System.out.println("常量的值: " + total);
 8         
 9         // 声明一个数组
10         float [] array = new float[10];
11         
12         
13         // 运算符类似C语言 
14         /* 常用运算符: 
15          * + - * / > < >= <= == 
16          * &&(并) ||(或) !(非) [](声明数组访问数组) .(访问对象实例或者类的成员函数)
17          * (params) -> 以逗号分开的参数系列    (type) -> 将某一个值转换成type类型
18          * new -> 创建一个新对象     instanceof -> 判断第一个运算对象是否是第二个运算对象的一个实例
19          * */
20         
21         
22         // 表达式和语句类型C语言
23         // if语句实例:
24         boolean DEBUG = true;
25         if(DEBUG){
26             System.out.println("DEBUG: true");
27         } 
28         else {
29             System.out.println("DEBUG: false");
30         }
31         
32         // switch语句实例:
33         int month = 5;
34         switch(month){
35             case 1: System.out.println("January"); break; 
36             case 2: System.out.println("February"); break; 
37             case 3: System.out.println("March"); break; 
38             case 4: System.out.println("April"); break; 
39             case 5: System.out.println("May"); break; 
40             case 6: System.out.println("June"); break; 
41             case 7: System.out.println("July"); break; 
42             case 8: System.out.println("August"); break; 
43             case 9: System.out.println("September"); break; 
44             case 10: System.out.println("October"); break; 
45             case 11: System.out.println("November"); break; 
46             case 12: System.out.println("December"); break; 
47         }
48         
49         // while语句实例 - 浏览复制字符串的各个字符直到到字符u:
50         String copyFromMe = "Copy this string until you encounter the letter 'u'.";
51         String copyToMe = new String();        // 创建一个空字符串
52         int i = 0;
53         char c = copyFromMe.charAt(i);
54         while(c!='u'){
55             copyToMe = copyToMe + c;
56             c = copyFromMe.charAt(i+1);
57             i = i+1;
58         }
59         System.out.println(copyToMe);
60         
61         StringBuffer testString = new StringBuffer("just a test for StringBuffer!");
62         System.out.println(testString);
63         
64         // for语句实例
65         /*
66          * for(初始条件; 终止条件; 增量){
67          *         循环体
68          * }
69          * */
70         
71         // break continue return
72         /*
73          * break: 直接跳出循环
74          * continue: 终止当前本次循环,根据循环条件判断是否进入下一次循环
75          * return: 退出当前的方法(函数)并返回值
76          * */
77         
78         
79     }
80 }

6.Java基础数据结构

(1)数组

基本数组:

 1 public class Array {
 2     public static void main(String[] args) {
 3         // 创建一个数组
 4         int[] anArray;                // 声明一个整形数组
 5         anArray = new int[10];        // 创建一个整形数组
 6         
 7         // 数组赋值并输出值
 8         for(int i=0; i<anArray.length; i++){
 9             anArray[i] = i+1;
10             // 访问数组元素 -> []
11             if(i==anArray.length-1){
12                 System.out.println(anArray[i]);
13             }    
14             else{
15                 System.out.print(anArray[i] + ", ");
16             }
17         }
18     
19         // 数组大小
20         System.out.println("数组大小为: " + anArray.length);
21         
22         // 数组初始化
23         boolean[] answers = {true, false, true, true, false};
24         System.out.println(answers[0]);
25         
26         // 对象数组
27         String[] stringArray = {"one", "two", "three", "four", "five"};
28         for(int i=0; i<stringArray.length; i++){
29             // System.out.println(stringArray[i].toLowerCase());
30             if(i==anArray.length-1){
31                 System.out.println(stringArray[i].toLowerCase());
32             }    
33             else{
34                 System.out.print(stringArray[i].toLowerCase() + " ");
35             }
36         }
37         
38         /*
39          * 声明数组: 元素类型 数组名[]; -> int a[];
40          * 创建数组空间: 数组名 = new 类型[元素个数];
41          * 
42          * 上面两步可以合为一步:
43          *       int a[] = new int[9];
44          * 
45          * 创建数组元素并初始化:
46          *       for(int i=0; i<a.length; i++){
47          *           a[i] = i+1;
48          *    }
49          * */
50         
51     }
52 }

多维数组:

 1 // 多维数组
 2 int [][] arrayOfInts = {
 3     {1, 2, 3},
 4     {4, 5, 6},
 5     {7, 8, 9}
 6 };
 7 int searchfor = 66;
 8 int i = 0, j = 0;
 9 boolean foundIt = false;
10 search:
11     // 遍历多维数组
12     for(i=0; i<arrayOfInts.length; i++){
13         for(j=0; j<arrayOfInts[i].length; j++){
14             if(arrayOfInts[i][j] == searchfor){
15                 foundIt = true;
16                 break search;
17             }
18         }
19     }
20 if(foundIt){
21     System.out.println("Found " + searchfor + " at " + i + ", " + j);
22 }
23 else{
24     System.out.println(searchfor + " not in the array");
25 }

复制数组:

System.arraycopy(src, srcPos, dest, destPos, length) -> src:原数组   srcPos:原数组复制起点   dest:目标数组   destPos:目标数组复制起点   length:复制长度

1 // 复制数组  -> 注意目标数组必须在调用arraycopy之前分配内存而且这个内存空间必须能容纳下被复制的数据
2 char[] copyFrom = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l'};
3 char[] copyTo = new char[7];
4 System.arraycopy(copyFrom, 0, copyTo, 0, 7);
5 System.out.println(new String(copyTo));
6 // 输出结果: abcdefg

(2)字符串

 1 // String类基本使用
 2 public class StringTest {
 3     public static void main(String[] args) {
 4         // 字符串长度: length()
 5         String message = "Welcome to Java";
 6         System.out.println("The length of " + message + " is " + message.length());
 7         System.out.println();
 8         
 9         // 字符串连接:     + or concat()
10         String myString = message + " and " + "HTML";
11         System.out.println(myString);
12         System.out.println(message.concat(" and HTML"));
13         System.out.println();
14         
15         // 字符串转化: toLowerCase()、toUpperCase()
16         System.out.println(myString.toLowerCase());
17         System.out.println(myString.toUpperCase());
18         System.out.println();
19         
20         // 获得子字符串: substring()
21         System.out.println(message.substring(0, 11) + "JavaScript");
22         
23         // 在字符串中查找字符或子串: indexOf()
24         System.out.println(message.indexOf('e'));
25         System.out.println(message.indexOf("Welcome"));
26         
27         // 字符串和数字之间的转换
28         int intValue = Integer.parseInt("123");
29         double doubleValue = Double.parseDouble("123.56");
30         String s = 3 + "";
31         System.out.println(intValue + " " + doubleValue + " " + s);
32     }
33 }
 1 // 字符基本使用
 2 public class CharTest {
 3     public static void main(String[] args) {
 4         // char letter = 'A';
 5         // char numChar = '4';
 6         System.out.println("He said "Java is fun!"");
 7         System.out.println("\t is a tab character");
 8         
 9         // Character类中的方法:
10         // isDigit isLetter isLetterOrDigit isLowerCase isUpperCase toLowerCase toUpperCase
11         System.out.println("isDigit('a') is: " + Character.isDigit('a'));
12         System.out.println("isLetter('a') is: " + Character.isLetter('a'));
13         System.out.println("isLetterOrDigit('a') is: " + Character.isLetterOrDigit('a'));
14         System.out.println("isLowerCase('a') is: " + Character.isLowerCase('a'));
15         System.out.println("isUpperCase('a') is: " + Character.isUpperCase('a'));
16         System.out.println("toLowerCase('A') is: " + Character.toLowerCase('A'));
17         System.out.println("toUpperCase('a') is: " + Character.toUpperCase('a'));
18         
19     }
20 }
 1 // 检测输入的第二个字符串是否是输入的第一个字符串的子串
 2 import java.util.*;
 3 public class CheckSubString {
 4     public static void main(String[] args) {
 5         Scanner input = new Scanner(System.in);
 6         System.out.print("Enter string s1: ");
 7         String s1 = input.nextLine();
 8         System.out.print("Enter string s2: ");
 9         String s2 = input.nextLine();
10         
11         // 遍历第一个字符串 查找第一个字符串中的所有子串 将子串与第二个字符串比较
12         for(int i=0; i<s1.length(); i++){
13             for(int j=i; j<s1.length()-i; j++){
14                 String sub = s1.substring(i, j);
15                 if(sub.equals(s2)){
16                     System.out.println(s2 + " is a substring of " + s1);
17                     System.exit(0);
18                 }
19             }
20         }
21         
22         System.out.println(s2 + " is not a substring of " + s1);
23         
24         // debug:
25         // System.out.println(s1);
26         // System.out.println(s2);
27     }
28 }
原文地址:https://www.cnblogs.com/wyb666/p/9575751.html