一. HelloWorld案例
(一) JAVA程序的执行流程
java程序编写好之后,需要经过编译,生成字节码文件,字节码文件交给Java虚拟机进行执行
四步骤:
1. 编辑 : 使用编辑软件, 创建出一个.java文件, 将java代码写入其中
2. 编译 : 将java源文件编译出一个额外的.class字节码文件
3. 运行 : 运行.class文件中的类
4. 调试 : 代码出现问题, 发现问题, 解决问题
(二) HelloWorld程序编写
1. 首先创建一个 HelloWorld.txt 文件,修改后缀名为 .java 类型文件,变成 HelloWorld.java
2. 注意: 在电脑系统中需要打开显示后缀名的选项
3. 用系统自带的记事本软件打开 HelloWorld.java 文件,书写程序内容
public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); } }
(三) HelloWorld案例的编译和运行
1. java程序的编译
JDK的bin文件夹路径下, 有一个应用程序javac.exe, 主要功能是将一个.java源文件, 编译出一个额外的.class字节码文件
命令语法: javac java源文件名.java
举例 : javac HelloWorld.java
2. java程序的运行
JDK的bin文件夹路径下, 应用程序命令, java.exe, 主要功能是运行.class文件中的类
命令语法: java 类名
举例 : java HelloWorld
(四) Java 编码的格式规范及常见问题
1. 格式规范
(1)在左大括号前面,要加一个空格
(2)在左大括号后面,要换行、缩进
(3)右大括号要和本层次的代码对齐
(4)运算符两侧,要加上空格
(5)不同的代码段之间,要加上空行
2. 代码调试和常见问题
(1) 非法字符问题。Java中的符号必须是英文格式
(2) 大小写问题。Java语言对大小写敏感(区分大小写)。例如 System String 两个单词的S都是大写
(3) 在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件。
(4) 编译命令后的java文件名需要带文件后缀.java
(5) 运行命令后的class文件名(类名)不带文件后
(6) Java代码中, 括号必须成对出现({},(),[])
二. 基本概念
(一) 注释
1. 注释作用:
1) 将代码置为无效状态
2) 为代码添加解释说明(开发中有30%部分为注释)
注: 注释可以帮助开发者记录编程思路辅助开发【梳理代码思路】; 帮助开发者迅速的定位错误代码,进行排错【代码调试】
2. 注释是给人看的,所以不参与编译,不参与运行,对代码运行的结果没有影响的
3. 注释分类:
1) 单行注释:
使用一行区域来书写解释说明的内容
格式:// 注释内容
特点:
1、不可以换行
2、可以套用,嵌套使用
2) 多行注释:
使用多行区域来书写解释说明的内容
格式:/* 注释内容 */
特点:
1、可以换行
2、不可以套用
3) 文档注释
格式: /** 注释内容 */
目前文档注释不使用,暂时不讲解,后面专门学习
package com.ujiuye.gainian; // 定义一个类, 类名Demo01_注释: 单行注释 public class Demo01_注释 { /* 注意的注意事项 // a: 单行注释可以嵌套 // b : 多行注释不能嵌套使用 1. main方法固定写法 2. main方法作为程序的唯一执行入口, 被JVM虚拟机主动运行 3. main方法中的代码功能: 输出打印数据 */ public static void main(String[] args) { // System.out.println(123); System.out.println("你好"); } }
(二) 关键字
1. 概述: java中提前定义好的并且赋予了特殊含义和功能的英文单词,这样的单词在java中总计有50个,但是在用的只有48个。 有goto和const两个单词没有使用,所以被称之为预留关键字【预留字】
2. 关键字列表如下:
1. 特点:
1) 所有关键字字母全部小写,不带有任何数字
2) 单独的关键字不能用作标识符
3) 标识符: 命名
2. 注意:
目前可以简单的熟悉,不用刻意的背,多练习,多接触慢慢的就掌握了。开发工具中, 对于关键字有特殊颜色表示
(三) 标识符
1. 概述: java中给类、接口、枚举、变量、方法等资源起名使用的字符序列,称为标识符
2. 组成内容:
1) 所有的大小写英文字母
2) 0-9的数字组成(任意数字)
3) 英文的 _ 和 $ 符号, 其他所有符号和空格不能作为名字出现
4) 其他国家语言的字符: 实际开发项目中,几乎不使用
3. 注意:
1) 不能是关键字
2) 数字不开头
3) 最好见名知意
4. Java的命名规范:
实际开发过程中遵守命名规则的同时还要遵守一些约定俗称的规则
1) 类,接口,枚举的命名 : 大驼峰原则,每一个英文单词首字母大写
例如: HelloWorld GoldSale
2) 变量命名 : 小驼峰原则, 第一个英文单词全小写,从第二个英文单词开始, 首字母大写
例如: productNumber sale
3) 方法的命名 : 小驼峰, 与变量命名一致
例如: getSum print
4) 常量的命名 : 所有字母全大写, 单词之间使用_进行分隔
例如: PI SCHOOL_NAME
package com.ujiuye.gainian; public class Demo02_标识符 { public static void main(String[] args) { // int i = 10; int abc = 10; int _name = 10; // 1. 错误名字: 符号, 只能是_或者$ , 不能有空格 // int my name = 10; // 2. 错误: 单独的关键字不能作为名字出现 // int void = 20; int class1 = 10; // 3. 错误: 数字不能作为名字的开头 // int 1class = 10; int count = 10; int schoolName = 20; int this_is_my_name = 10; } }
三. 常量
1. 概念: Java程序运行过程中其值不可以发生改变的量
2. 常量按照数据类型分类 : 基本数据类型,引用数据类型
(1) 基本数据类型 : 表示最简单, 最直接的数据
a : 整数常量 : 所有的整数 例如 123 456 ..
b : 浮点常量(小数常量) : 所有的小数 例如 12.3 34.5
c : 字符常量: 单引号引起来的单个字符 例如 '3' 'a' 'Y' '?' '家'
d: 布尔常量: 布尔值表示真假 只有两个值 true false
(2) 字符串常量:
使用 "" 引起来的的内容称为字符串常量,例如 "HelloWorld"
(3) 空常量:
就是一个特殊的值,空值为null, 所有的引用数据类型其默认值都可以设置为null
package com.ujiuye.gainian; public class Demo03_基本数据类型常量 { public static void main(String[] args) { // 1. 整数常量 System.out.println(12); // 2. 浮点常量 System.out.println(-6.5); // 3. 字符类型: 一对英文的单引号包裹起来的单个字符序列 System.out.println('3'); System.out.println('a'); System.out.println('Y'); System.out.println('>'); System.out.println(' '); System.out.println('你'); // '-1': 不是一个字符,因为由 '-' '1' 组成的, 两个 // System.out.println('-1'); // 4. 布尔类型 System.out.println(true);// 真 System.out.println(false);// 假 } }
package com.ujiuye.gainian; public class Demo04_字符串常量 { public static void main(String[] args) { System.out.println(""); System.out.println(" "); System.out.println("张三"); System.out.println("新加坡21号");
//字符串类型与任意数据类型作加法: 都只表示拼接效果, 数据结果仍然是一个字符串 //运算符两端尽量有空格位 System.out.println("6" + 5);// "65" System.out.println("6" + 5 + 7);// "657" System.out.println("6" + (5+7)); // "612" System.out.println(5 + 7 + "6");// "126" // 空常量: null, 引用数据类型为空, 使用null String s = null; System.out.println(s); } }