• 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 }
  • 相关阅读:
    【原创】【js】screenLeft screenTop screenX screenY属性的有效性和兼容性研究
    兼容兼容兼容:浏览器兼容性大集合
    Vue 打包成APP后首屏出现白屏问题
    uniapp 安卓app端本地打包错误: Not found -1,6 at view.umd.min.js:1
    uniapp 下获取cid
    uniapp fill abort statuscode:-1
    Vuex刷新时数据会消失,那如何解决?为什么还要使用Vuex
    vue 安装失败;vue不是内部或外部命令
    js 文件下载,多个文件下载,pdf下载
    uni-App 去掉顶部导航栏
  • 原文地址:https://www.cnblogs.com/wyb666/p/9575751.html
Copyright © 2020-2023  润新知