Java前三章

1,初识Java
1,.1程序是什么?

**生活中的程序:**为了达成某个目的,所执行的固定的一系列步骤和流程。
例如:银行办卡 医院看病 大象放进冰箱 请假 结婚…
**计算机中的程序:**计算机指令的集合,为了达成某个目的,将一系列的指令进行统一处理。 例如:软件,app等。

####1,2 编程和编程语言
编写程序 (编程 ,开发)。
编程语言:用来编写程序的语言。
主流:Java C C++ Python Go C# PHP Ruby…
####1.3 java介绍
历史:
1991年 为了进军机顶盒等移动端市场, Green project项目活动,sun公司詹姆斯 高斯林博士领导的开发小组。 oak
1995年 正式诞生了,借助互联网风。 oak -> java
1996年 JDK1.0
1998年 Java分为了三大方向。 JDK 1.2版本
Java SE 标准版 是 核心 可以用来开发桌面程序。
Java ME 移动端版本 可以用来开发手机端程序。 Android替代了
Java EE 企业端版本 网站或者是服务器后台开发。
2004年 Java推出 JDK1.5 这个版本加入了大量新特性,泛型,包装类型,注解 …
2009年 Sun公司因为决策失误,公司最终被 Oracle甲骨文收购!74亿美元
所以因为已经被收购了,Sun公司包含且不限于,商标,专利,Java等版权等全都移交给了Oracle
例如我们后面会学习到的: MySQL Virtual box等。

		2019年1月1日起	Oracle公司决定	JDK	将不再向企业提供免费更新,最后一版为JDK	8u192,当然后续版本还可以用于非盈利私人使用学习,但是也仅仅到2020年而已。

Sun公司当初就考虑过Java收费,但是最终没有实现。
** JDK 从出生就诞生了两个版本:**
1,Sun公司专用版本 我们平时下载的 由Sun公司,现在的Oracle公司维护。
2.Open JDK 是Sun公司开源在社区的 由开源社区维护。

而且各个大型互联网公司,也对 Open JDK进行了定制。所以短时间内企业可以继续采用JDK8 或者准备迁移为 open JDK.

** 能力: **

		Java  	SE  	标准版  是核心	可以用来开发桌面程序。
		Java	ME  	移动端版本				可以用来开发手机端程序。	Android替代了
		**	Java EE 	企业端版本			网站或者是服务器后天开发。 **

			Java EE方面 服务器后台
			Android开发 因为安卓开发 也需要	Java基础。
			大数据方面开发  Hadoop

			......

1.4 JAVA环境安装

JDK8 需要统一安装到develop文件夹(查老师要求)
配置‘JAVA_HOME’环境变量 变量值为JDK 安装目录的bin目录 的上一级 。l例如:Eclipse和Tomat等都会寻找此变量。
然后还需要在path环境变量中 引用上方变量。 ‘%JAVA_HOME%’ \ bin;
win10小心权限问题!可能需要以管理员身份运行。

####1.5 第一个 JAVA程序
**编程步骤: **
1,创建文本文件,修改扩展名为。java
2.编写源代码
,,,java
public class 文件名相同的类名{
public static void main(String[] args){
System.out.println("Helo World! ");
}
}

 3.编译源代码     (JAVA是静态编译语言,所以源代码)   无法直接运行 ,需要编译)
 javac   源代码.java
 4运行字节码(.class)文件

java 文件名(千万别加扩展名)

####1.6 第一个java程序的语法结构和注意事项

java  

public class 文件名相同的类名{// 类声明}
public static void main(String[] args){// main方法 java程序的入口
//输出语句 用于在控制/显示器输出内容
System.out.println("Hello Worlf! ");
}
}
注意文件名和类似相同,采用帕斯卡命名法(大驼峰命名法)。
注意main方法要完全一致 否则程序无法运行。
注意缩进对齐,每向下一级应该进行缩进,缩进4个空格。

扫描二维码关注公众号,回复: 5752512 查看本文章

####1.7 输出语句和注释
System.out.println(); 输出并换行
System.out.print(); 输出不换行
转义字符:\n 换行 \t 一个制表位

**注释:**对代码进行解释的内容。为了方便自己和同事等团队开发人员阅读和维护。
好的代码应该是给人看的,而不是给机器看的。

前期注释量在40%以上,目的是让你养成习惯,后期就不要如此了!保证该有地方添加即可。

注释用于需要添加解释的代码的上方(推荐)和右方。

单行注释: // 最后用于方法内单行解释

多行注释: /* */ 用于方法的解释或者方法内多行注释。

文档注释: /** */ 可用于类,方法,属性等注释。

####1,8 java虚拟机和跨平台原理

Write once ,Run anywhere。

我们java编译的是字节码文件不是机器码文件,所以它无法直接在系统平台上运行,需要借助JVM(Java虚拟机)。同样因为JVM的原因,所以实现了跨平台。

1.9反编译(了解)

编译:java -> 。class
反编译:.class -> .java
会用工具即可。
##2.变量和数据类型
####2.1 IDE的使用

####2.2 变量
**变量:**Java用于临时i性存储数据的单位/容器。
变量的三要素:(类比住酒店)

    1.变量的数据类型
    2.变量名
    3.变量值
变量的数据类型:
      java中数据类型
      **按照数值和非数值划分:   **

                数值:
                        byte   short    int    long          float
                非数值:
                        char     	boolen			String   
                        
      **按照基本和使用数据类型划分: **
                   基本数据类型:byte   short    int     long     float    double    char     boolean
                   引用数据类型:数组,类(String),接口,枚举

**变量名的命名和规范: **
1.由数字,字母,下划线和美元符号组成,数字不能开头。
2.不能使用英文单词和拼音组合形式,要么全拼音要么圈单词。。
3.不能使用关键字和保留字。
4采用驼峰命名法,首字母小写,如果有多个单词,后面的每个首字母单词大写。

    连字符写法:user_name

5,见名知义

######变量的使用
1,先声明再赋值

int   num;
num  =  10;

####常量

有些变量我们知道是固定的值,不需要进行变更,所以需要将其定义为常量。
final double PI = 3.14;
常量只能赋值一次!

常量为了和变量区分,我们需要将常量的所有字母都大写,如果有多个单词以下划线链接。

Scanner键盘录入

控制台只是为了我们在前期学习语法阶段使用的工具,或者未来在开发阶段进行测试时的使用而已。

  1. 导入Scanner

    import java.util.Scanner; 必须放在类声明上方 包声明下方。

  2. 创建Scanner对象

    Scanner scan = new Scanner(System.in);

  3. 使用方法进行输入

    nextInt(); 输入整数

    nextDouble(); 输入小数

    next(); 可以用来输入字符串

数据类型转换

联想大米袋子

自动类型转换: 低精度 -> 高精度

​ double num = 10;

强制类型转换: 高精度 -> 低精度 会损失精度

​ int num = (int)10.1;

常用的运算符

赋值运算符

= 赋值符号 记好了是将=号右边的赋值给=号左边的内容。

算术运算符
+   -   *  /  %
++自增1  --自减1


`前++和后++的区别:`

前++都是先进行变量值的操作,然后再使用变量。

后++都是先使用变量 再给变量值进行操作。



复合算术运算符/复合赋值运算符

+=   -=  /=  *=  %=

举例:int num = 10;    num+=2;  //  num = num +2;

##### 关系运算符

```java
>   <  >=  <=  ==(相等) !=(不相等)
逻辑运算符(常用)

&& 与(并且)

|| 或(或者)

! 非(取反)

三元/目 运算符

类似于我们选择结构学习的if-else。

条件表达式 ? 为true时的结果 : 为false时的结果;

优先级

++和–优先级最高,()可以提升优先级!

3. 选择结构

3.1 if系列选择结构

基础if选择结构
if(条件表达式){
    // 成立时执行的内容
}
if-else(互斥)选择结构
if(条件表达式){
    // 成立时
}else{
    // 不成立...
}
if-else if-else(多重)选择结构
// 自上而下执行判断 只要有一个满足 剩下的不再继续判断
if(条件1){
    // 条件1执行代码
}else if(条件2){
    // ....
}else{
    // ...
}
嵌套if

多种if结构之间可以相互嵌套,只要符合需求即可,当然一般情况下不会嵌套太多层!

if(条件1){
    if(条件2){
        
    }
}

3.2 switch选择结构

此常量非彼常量。

此接口非彼接口。

此服务器非彼服务器。

switch(表达式){
    case 常量1:
    	// ...
    	break;
    case 常量2:
    	// ...
    	break;
    default:
    	// 默认处理
    	break;
}

注意事项:

1. switch只支持int  String  enum,但是因为自动类型转换所以byte short char也可以支持。
2. switch中的case后必须接唯一常量。
3. switch中每一个case后如果没有特殊情况需要添加break,否则会出现case穿透。
4. 如果没有特别情况建议在结尾添加default作为默认处理。

3.3 if和switch区别

相同点:

​ 都是选择结构。

​ 都可以作为等值判断。

异同点:

​ 语法不同。

​ switch只能用于等值判断,if还可以用于范围判断。

4.作业

  1. 将三章笔记整理到CSDN笔记!要求格式良好!自拟标题,使其分分钟上热搜!

猜你喜欢

转载自blog.csdn.net/Javastudenthhhk/article/details/88642011