A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 xiekai_sjz 于 2018-9-7 14:18 编辑

      同学们,我们今天进入java基础的第一天学习,今天主要为大家讲解下java语言的概述,常量和变量。
以下是今天的学习目标:
  • 能够计算二进制和十进制数之间的互转
  • 能够使用常见的DOS命令
  • 理解Java语言的跨平台实现原理
  • 理解JDK和JRE的组成和作用
  • 能够配置环境变量JAVA_HOME
  • 能够编写HelloWorld程序编译并执行
  • 理解标识符的含义
  • 能够定义出所有类型的常量
  • 理解Java中的基本数据类型分类
  • 能够定义8种基本数据类型的变量


以下是今天的详细笔记:
Java语言介绍Java语言概述和发展史
Java最初属于SUN公司, 后被Oracle(甲骨文)收购
Java之父: 詹姆斯-高斯林
Java的应用场景:网站开发
发展历史:
    Java 1.0: 1995年
    Java 1.1: 1997年
    Java 1.2: 1998年
    Java 1.3: 2000年
    Java 1.4: 2002年
    Java 5:   2004年     增加了很多新特性, 推动了Java的发展
    Java 6:   2006年
    Java 7:   2009年     Oracle收购Sun, 并于2011发布Java 7
    Java 8:   2014年     目前使用最多的版本
    Java 9:   2017年9月  从这个版本开始, 每半年更新一个版本
    Java 10:  2018年3月
Java分3个平台:
    JavaSE: Java Standart Edition, Java标准版本.
            Java语言的核心, 开发桌面程序. 但是!! JavaSE开发桌面非常落后已经被淘汰
    JavaME: Java Micro Edition, Java微型版本.
            嵌入式设备开发. 手机, 机顶盒. JavaME基本也被淘汰
    JavaEE: Java Enterprice Edition, Java企业版本.
            网站, web应用程序, 手机APP后台服务端程序

计算机的进制转换
十进制: 逢十进一, 0-9组成
二进制: 逢二进一, 0和1组成
十进制 转 二进制:
        规则: 除以2取余数直到商为0, 将余数倒序排列        
        示例: 十进制数字12, 反复除2, 获取余数, 直到商为0
        2 |_12_ 余 0    ^
        2 |__6_ 余 0    |   所有余数从下往上, 得二进制值: 1100
        2 |__3_ 余 1    |
        2 |__1_ 余 1    |
             0   
二进制 转 十进制:
        规则: 8421码
        ... 256  128  64  32  16  8  4  2  1
                                             1  1  0  0  相乘
        -------------------------------------
                                            8 +4 +0 +0 = 12

计算机存储单元
bit: 位 (比特)    缩写是小写的字母b。由0和1组成
byte: 字节.     缩写是大写的字母B。1个字节由8个位组成 0000 0000。是计算机中的最小存储单位
计算机存储单位的换算规则:
        1 B = 8 bit;
        1 KB = 1024 B;
        1 MB = 1024 KB;
        1 GB = 1024 MB;
        1 TB = 1024 GB;
        1 PB = 1024 TB;
        1 EB = 1024 PB;
        1 ZB = 1024 EB;

命令提示符CMD
打开CMD命令提示符窗口的步骤:
        1. Win + r键: 弹出`运行`窗口
        2. 输入cmd, 回车

常用DOS命令
常用DOS命令:
        切换盘符      盘符:
        切换目录
                cd 目录名                进入目录
                cd 目录1\目录2\目录3\     进入多级目录
                cd ..                    返回上一层目录
                cd \                     返回当前盘符根路径
        显示当前目录中的所有内容      dir
        清空屏幕      cls
        退出cmd窗口      exit或者鼠标关闭
        自动补全路径      tab     
        切换历史命令      ↑↓箭头   

Java语言的跨平台性
平台: 就是操作系统. 常见操作系统有Windows, Linux, Mac
跨平台: 指程序可以在多种操作系统中运行
Java实现跨平台的原理: Java程序依赖于JVM, 不同操作系统有不同版本的JVM.
Java是跨平台的语言, 可以实现"一次编译, 到处运行"(Compile once, run anywhere)
JVM是虚拟的计算机, 类似于翻译
                              Java程序
                                      |
     +--------------------+---------------------+
     |                               |                                 |
Windows版JVM    Linux版JVM            Mac版JVM
     |                               |                                 |
  Windows                Linux                          Mac

JDK, JRE, JVM
JVM: Java Virtual Machine, Java虚拟机. 可以在不同的操作系统上模拟出相同的Java运行环境
JRE: Java Runtime Environment, Java运行时环境。包含了JVM, 核心类库
JDK: Java Development Kit, Java开发工具包。包含了JRE, 开发工具


环境变量的配置
环境变量: 在电脑操作系统中, 有一个名为Path的变量, 其中保存的文件夹中的内容, 可以通过cmd命令行在任意目录下使用        
配置环境变量的原因: 为了在任意目录下都能使用JDK的bin目录中的开发工具        
配置环境变量的方法        
        关键步骤:
                1. 创建名为JAVA_HOME的变量, 值为JDK目录的路径
                2. 编辑名为Path的变量, 在值中添加 %JAVA_HOME%\bin;
                3. 关闭已经打开的cmd, 重新打开cmd. 输入javac测试

HelloWorld入门案例
Java程序开发步骤:
        1. 编写.java源代码文件: 文本编辑器
        2. 使用编译器编译: javac命令
        3. 使用解释器运行: java命令
流程:
        .java源代码文件 > 通过编译器编译 > 生成.class字节码文件 > 通过解释器解释执行        
HelloWorld.java程序的编写:
[Java] 纯文本查看 复制代码
public class HelloWorld {
    public static void main(String[] args) {
            System.out.println("hello world!");
    }
}


HelloWorld常见问题
常见问题:
        报错: 类xxx是公共的, 应在名为xxx.java的文件中声明
        原因: 类名和文件名不一致
        
        报错: 找不到符号
        原因: String[]的字母S写成了小写s
        
        报错: 在类XXX中找不到main方法, 请将main方法定义为...
        原因: main方法名写错, 比如写成mian
        
        报错: 需要';'
        原因: 少写;分号
        
        报错: 非法字符
        原因: 出现了中文符号

Notepad++的配置和使用
Notepad++:
        是一个稍微高级一点儿的代码编辑器, 具有代码自动补全, 代码高亮, 行号显示等特点
        安装方式:
                双击exe安装包安装, 各种下一步
        配置:        
                设置 > 首选项 > 新建 > 默认语言选Java > 编码选ANSI

Java基础语法
注释
注释: 用于解释说明的文字.
        注释是给程序员看的, 源代码编译后的字节码文件中是没有注释的
3种注释:
        1. 单行注释: //单行注释
        2. 多行注释: /*多行注释*/
        3. 文档注释: /**文档注释*/

关键字
关键字: Java中定义的具有特殊含义的, 被保留的单词
关键字的特征
        1. 字母全小写
        2. 在一些高级代码编辑器中会有颜色高亮

标识符
标识符: 代码中我们自己定义的"名称"

标识符的作用: 给 "包", "类", "方法", "变量"起名字

命名组成规则: 硬性规定
        1. 由大小写英文字母, 数字, $, _组成
        2. 数字不能开头
        3. 不能是关键字,
        中文也可以但不建议使用
        
命名规范: 见名知意 软性规定
        类名: 所有单词首字母大写, 其余字母小写.
                如 HelloWorld, Test
        方法名: 第一个单词字母全小写, 从第二个单词开始首字母大写, 其余字母小写.
                如 eat(), getName()
        变量名: 同方法名.
                如 age, myDog
        包名: 字母全小写, 多级包之间, 用英文句点.分隔
                如 com.itheima.test

常量
常量: 程序运行期间, 固定不变的量

分类:
        字符串常量: "hello world", "123", "abc123你好", "","a"
        字符常量: 'a', '0', '你'. 注意: 单引号中只能有且只有1个字符, 不能空着或者写多个字符
        整数常量: 0, 90, -87
        浮点数常量: 0.0, 90.0, -87.233
        布尔常量: true, false
        空常量: null
常量的输出
[Java] 纯文本查看 复制代码
public class TestConst{
        /*
        字符串常量: "hello world", "123", "abc123你好", ""
        字符常量: 'a', '0', '你'. 注意: 单引号中只能有且只有1个字符, 不能空着或者写多个字符
        整数常量: 0, 90, -87
        浮点数常量: 0.0, 90.0, -87.233
        布尔常量: true, false
        空常量: null
        */
        public static void main(String[] args){
                //字符串常量: "hello world", "123", "abc123你好", ""
                System.out.println("hello world");
                System.out.println("");
                System.out.println("123");
                
                //字符常量
                System.out.println('a');
                System.out.println('0');
                //System.out.println('12'); // 单引号之间有且只能有一个字符,两个报错
                //System.out.println(''); // 单引号之间有且只能有一个字符,没有报错
                
                //整数常量
                System.out.println(3);
                System.out.println(-5);
                
                //浮点数常量
                System.out.println(12.2);
                
                //布尔常量
                System.out.println(true);
                System.out.println(false);
                
                //空常量 null ,空常量不能输出
        }
}


变量

数据类型
Java中的数据类型
|_ 基本数据类型. (4类8种)
|        |_ 整数
|        |        |_ byte: 字节型
|        |        |_ short: 短整型
|        |        |_ int: 整型
|        |        |_ long: 长整型
|        |_ 浮点数
|        |        |_ float: 单精度浮点型   3.33333
|        |        |_ double: 双精度浮点型  3.333333333333333333
|        |_ 字符
|        |        |_ char: 字符型. 注意: 既能表示字符, 也能表示数值
|        |_ 布尔
|                |_ boolean: 布尔型
|_ 引用数据类型
         |_ 数组: int[] 等
         |_ 类: String 等
         |_ 接口
         |_ Lambda
         
注意事项:
        String是一个类, 属于引用数据类型
        浮点类型只是一个近似值
        数据范围与占用字节数不一定相关, 如float占用4字节但却比占用8字节的long存储的数据范围大
        Java代码中, 整数常量默认是`int`类型, 浮点数常量默认是`double`类型
        long类型加大写L, float类型加大写F

变量的概念和定义格式变量: 程序运行期间, 值可以发生改变的量
        变量其实是内存中的一块区域, 可以保存一个值. 值的变化范围通过数据类型来约束
定义变量的2种格式:
        (1)// 先声明(创建/定义)一个变量, 然后再给变量赋值
        数据类型 变量名;    // 先声明/创建/定义
        变量名 = 初始化值;  // 再赋值

        (2)// 声明一个变量并赋予初始化值
        数据类型 变量名 = 初始化值;
变量的使用
[Java] 纯文本查看 复制代码
public class TestVariable{
        public static void main(String[] args){
                //格式一:先声明一个变量
                //数据类型 变量名;
                int num1 ;
                //给变量进行赋值
                //变量名 = 数据值;
                num1 = 5;
                System.out.println(num1);
                //修改变量的值
                num1 = 10;
                System.out.println(num1);                
                //格式二 一步到位的方式
                //数据类型 变量名 = 数据值;
                int num2 = 20;
                System.out.println(num2);
                System.out.println("==============");                
                //byte 类型
                byte num3 = 10;//数据值不可以超过变量的范围
                System.out.println(num3);                
                short num4 = 500;
                System.out.println(num4);                
                long num5 = 3000000000L;
                System.out.println(num5);                
                float num6 = 0.5F;
                System.out.println(num6);                
                double num7 = 0.66;
                System.out.println(num7);        
                char ch = 'A';
                System.out.println(ch);
                ch = '中';
                System.out.println(ch);                
                boolean flag = true;
                System.out.println(flag);
                boolean flag1 = flag;
                System.out.println(flag1);
                
        }
}


变量的注意事项
作用域: 从定义变量的一行开始, 一直到直接所属的大括号结束为止

注意事项:
        1. 如果创建多个变量, 那么变量之间的名称不可以重复.
        2. 对于float和long类型来说, 字母后缀F和L不要丢掉.
        3. 如果使用byte或者short类型的变量, 那么右侧的数据值不能超过左侧类型的范围.
        4. 没有进行赋值的变量, 不能直接使用. 变量一定要赋值之后, 才能使用.
        5. 变量使用不能超过作用域的范围
        6. 可以通过一个语句来创建多个变量, 但是一般情况不推荐这么写. int a, b, c = 10;
























7 个回复

倒序浏览
冯光 来自手机 初级黑马 2018-8-23 20:47:07
沙发
挺全的,老师讲的也非常好!!!
回复 使用道具 举报
强势入驻二楼!!!
回复 使用道具 举报
非得让打九个字,我都不知道为啥
回复 使用道具 举报
cuipu 发表于 2018-8-23 22:04
非得让打九个字,我都不知道为啥

因为你优秀啊
回复 使用道具 举报
冯光 发表于 2018-8-23 20:47
挺全的,老师讲的也非常好!!!

继续加油
回复 使用道具 举报
[mw_shl_code=java,true]老师这是什么意思,这是代码的格式是java的就可以运行
回复 使用道具 举报
13333114253 发表于 2018-10-22 07:16
[mw_shl_code=java,true]老师这是什么意思,这是代码的格式是java的就可以运行

这个是向页面中插入java代码的时候,外部加上这个标签,这段java代码就会有特殊的格式。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马