Java从入门到精通第一版(Java基础)

  • 一. 软件的安装
    • 1. JDK的安装
    • 2. IDEA的安装
  • 2. HelloWorld案例
  • 3. Java注释
  • 4. Java常量
  • 5. Java数据类型
  • 6. Java变量
  • 7. 类型转化
    • 7.1. 自动类型转化
    • 7.2 强制类型转化
  • 8. 运算符
    • 8.1 算数运算符
    • 8.2 字符串的+操作
    • 8.3 赋值运算符
    • 8.4 自增自减运算符
    • 8.5 关系运算符
    • 8.6 逻辑运算符
    • 8.7 短路逻辑运算符
    • 8.8 三元运算符
  • 9. 数据输入
  • 10. 流程控制
    • 10.1 顺序结构
    • 10.2 分支结构
      • 10.2.1.1 if语句
      • 10.2.1.2 if...else语句
      • 10.2.1.3 if...else if 语句
      • 10.2.2 switch语句
    • 10.3 循环结构
      • 10.3.1 for 循环

一. 软件的安装

1. JDK的安装

首先我们打开JDK的官网:传送门,https://www.oracle.com/java/technologies/downloads/
进去之后,我们往下面翻,找到这里

根据你们自己的电脑进行安装,安装我就不演示了,直接无脑的点下一步,然后算个安装路径就行了
安装好后打开你的安装目录,点开bin目录然后复制上面的路径,然后去添加一下环境变量即可
然后再打开cmd,输入

javac -version


如果出现这样的画面就说明你成功了

2. IDEA的安装

首先打开IDEA的官网:传送门 https://www.jetbrains.com/idea/download/#section=windows
然后点击Download,下什么版本随你。下载好后运行。


然后有一个重点就是这里

这几个全选,那个32位的64位的应该没有(我懒得重装了,这是找的网图)
剩下几个都是选next,然后等待安装就行了
按好了之后,可能要重启,也可能不要,我们直接双击,打开,新建一个项目



然后他会自动生成着一些文件:

我们所有的Java文件都要放在这个src文件夹里
如果你也想让你的IDEA和我一样好看的话,就请看这篇文章:传送门

下面我们就开始正式的教学

2. HelloWorld案例

我们右键src文件夹,选择

然后他会自动生成:

public class hello{}

我们把它改成:

public class hello{public static void main(String[] args) {System.out.println("Hello World!");}
}

运行结果:

记住,Java跟Python一样,所有的符号都要是英文的!!!

3. Java注释

在Java中有两种注释分别是://

public class hello{public static void main(String[] args) {System.out.println("Hello World!"); // 我是注释}
}

还有:/**/

public class hello{public static void main(String[] args) {/*我也是注释*/System.out.println("Hello World!"); }
}

// 是单行注释,/**/是多行注释

4. Java常量

  • 常量类型 ---------------- 说明-----------------------举例
  • 字符串常量 -------用双引号括起来的 ---------”Hello World“
  • 整数常量----------不带小数的数字-------------666, -88
  • 小数常量----------带小数的数字----------------3.14, -5.21
  • 字符常量---------用单引号括起来的-----------’A‘, ‘0’, ‘我’
  • 布尔常量---------布尔值表示真假--------------只有两个值:true和false
  • 空常量-----------一个特殊的值,空常量------值为:null

5. Java数据类型

   数据类型      关键字      内存占用              取值范围byte     1                -128 ~ 127整数        short      2               -32768 ~ 32767int           4           -2的31次方 ~ 2的31次方-1long      8           -2的63次方 ~ 2的63次方-1
====================================================================================浮点数     float       4       负数:-3.402823E+38 ~ -1.401298E-45正数: 1.401298E-45 ~ 3.402823E+38double       8       负数:-1.797693E+308 ~ -4.9000000E-324正数: 4.9000000E-324 ~ 1.797693E+308
====================================================================================字符          char        2                  0 ~ 65535
====================================================================================布尔          boolean     1                true, false说明:E+38表示是乘10的38次方, 同样, E-45表示乘10的负45次方

6. Java变量

变量就是在程序运行过程中,其值可以发生改变的量
从本质上讲,变量是内存中的一小块区域
创建变量的语法:

 type name = value

举例:

int My = 2;

我们可以直接输出:

public class test_1 {public static void main(String[] args) {int My = 2;System.out.println(My);}
}


注意:Java中的变量只能以字母,下划线为开头,不可以以数字作为开头,而且不能和Java关键字相同
比如说:class就不能作为一个变量,但Class可以

7. 类型转化

7.1. 自动类型转化

把一个表示数值范围小的数值或者变量赋值给另一个表示数据范围大的变量
范例:double d = 10;

 表示数据范围从小到大图byte ---> short------|int --- long --- float --- doublechar------|

7.2 强制类型转化

格式:目标数据类型 变量名 = (目标数据类型)之后这变量
范例:

int k = (int)88.88

8. 运算符

8.1 算数运算符

         符号              作用+                  加-                  减*                乘/                除     结果取商%               取余      结果取余数

8.2 字符串的+操作

字符串就是由一堆字符组成的但在Java中我们一般都用char在Python中用string
那字符串的+操作是什么呢,就是把两个字符拼在一起,比如说:

char a = 'A'
char b = 'B'
System.out.println(a + b);

(这里我就不写完整代码了)
然后输出

我们看到输出的结果是131,这是为什么呢,我们本来想的是输出AB对吧
可在计算机运行的时候,他是把他当作一个数值来进行运算的
学过C/C++应该都知道,这是ascall码,在ascall码中,大写的A代表65,B就是66,那两个一相加不就是131么。
但是,字符不能和其他类型的数据相加,不然会报错:

但输出的时候还是可以的:

8.3 赋值运算符

     符号                  作用                      说明=                    赋值                  a=10,将10赋给变量a+=                  加后赋值             a+=b,将a+b的值给a-=                 减后赋值             a-=b,将a-b的值给a/=                   除后赋值             a/=b,将a除以b的值给a%=                  取余后赋值            a%=b,将a除以b的余数给啊

8.4 自增自减运算符

     符号                  作用                      说明++                  自增                  变量的值加1--                    自减                  变量的值减1
  • 注意事项:
  • ++和- -既可以放在变量的后面,也可以放在变量的前面
  • 单独使用的时候,++和- -无论是放在变量的前面还是后面,结果都是一样的
  • 参与操作的时候,如果放在变量的前面,先拿变量参与操作,后拿变量做++或者- -
    参与操作的时候,如果放在变量的后面,先拿变量做++或者- -,后拿变量参与操作

8.5 关系运算符

     符号                          说明==                  a==b 判断a和b的值是否相等,成立为true,不成立为false!=                   a!=b 判断a和b的值是否不相等,成立为true,不成立为false>                  a>b 判断a是否大于b,成立为true,不成立为false>=                   a>=b 判断a是否大于等于b,成立为true,不成立为false<                 a<b 判断a是否小于b,成立为true,不成立为false<=                   a<=b 判断a是否小于等于b,成立为true,不成立为false
  • 注意事项:
  • 关系运算符的结果都是boolean类型,要么是true,要么是false
  • 千万不要把"=="写成“=”

8.6 逻辑运算符

     符号              作用                      说明&            逻辑与        a&b,a和b都是true,结果为true,否则为false|             逻辑或        a|b,a和b都是false,结果为false,否则为true^           逻辑异或        a^b,a和b结果不同为true,相同为false!             逻辑非        !a,结果和a的结果正好相反

这里我就不多细讲了,给大家一串代码,自己运行体会一下(要我讲我也讲不清楚2333)

public class test_02 {public static void main(String[] args) {int i = 10;int j = 20;int k = 30;// & 有false则falseSystem.out.println((i > j) & (i > k)); // false & falseSystem.out.println((i < j) & (i > k)); // true & falseSystem.out.println((i > j) & (i < k)); // false & trueSystem.out.println((i < j) & (i < k)); // true & trueSystem.out.println("--------");// | 有true则trueSystem.out.println((i > j) | (i > k)); // false | falseSystem.out.println((i < j) | (i > k)); // true | falseSystem.out.println((i > j) | (i < k)); // false | trueSystem.out.println((i < j) | (i < k)); // true | trueSystem.out.println("--------");// ^ 相同为false,不同为falseSystem.out.println((i > j) ^ (i > k)); // false | falseSystem.out.println((i < j) ^ (i > k)); // true | falseSystem.out.println((i > j) ^ (i < k)); // false | trueSystem.out.println((i < j) ^ (i < k)); // true | trueSystem.out.println("--------");// !System.out.println((i > j)); // falseSystem.out.println(!(i > j)); // !falseSystem.out.println(!!(i > j)); // !!falseSystem.out.println(!!!(i > j)); // !!!false}
}

8.7 短路逻辑运算符

     符号              作用                      说明&&               短路与          作用与&相同,但有短路作用||             短路或          作用与|相同,但有短路作用

我们先看&和&&的区别:

这里我先给i=10,j=20,然后分别进行++操作在跟100比较一下。那毋庸置疑,肯定比100小所以是false
然后我们在输出i和j,他们都进行了++操作,然后我们再看&&

这里我们发现 j 并没有进行++操作,那是为什么呢
很显然只要 (j++ > 100) 运行了那么它的值就一定不可能是20,所以很明显这句话都没有运行
这就是我刚刚所讲的“短路”如果前面为false那后面的就直接不执行了,|| 也同理

  • 注意事项:
  • 逻辑与 &,无论左边真假,右边都要执行
    短路与 &&,如果左边为真,右边执行;如果左边为假,右边不执行
  • 逻辑或 |,无论左边真假,右边都要执行
    短路或 ||,如果左边为假,右边执行;如果左边为真,右边不执行

8.8 三元运算符

  • 格式:关系表达式?表达式1:表达式2
  • 范例:a > b ? a : b
  • 计算规则:
     首先计算关系表达式的值如果值为true,表达式1的值就是运算结果如果值为false,表达式2的值就是运算结果

下面有一段代码,你们可以对着这个格式自己试一试:

public class test_04 {public static void main(String[] args) {int a = 10;int b = 20;int max = a > b ? a : b;System.out.println(max);}
}

9. 数据输入

我们先用Python的角度来思考这个问题:

a = input("")

完事,对吧
那我们用Java怎么实现呢?
在Java他给我们提供了Scanner这个类来用于数据的输入,那这个类该怎么用呢?
共分为三个部分:

  • 1.导包
import java.util.Scanner;
导包的代码必须出现在类定义的上面:

  • 2.创建对象
Scanner sc = new Scanner(System.in);
上面这个格式里,只有sc是变量名,可以变,其他的都不能变
  • 3.接收数据
int i = sc.nextInt();
就是这个格式,这里只有i是变量可以改,其他的我们以后会讲

10. 流程控制

我们先来说一下流程控制语句的分类:

  • 顺序结构
  • 分支结构(if, switch)
  • 循环结构(for, while, do...while)
    那我们就按顺序来讲

10.1 顺序结构

顺序结构是程序中最简单最基本的流程控制,没有特定的语法,按照代码的先后顺序,依次执行,程序中大对数的代码都是这样执行的。简单来说,就是我的代码按照一行一行的有顺序的去执行

10.2 分支结构

10.2.1.1 if语句

格式:

if (关系表达式) {语句体;
}

执行流程:
首先计算关系表达式的值
如果为true就执行
如果为false就不执行
继续执行后面的语句
这个事实上就跟Python里的

if xxxxxx:xxxxxxx

一个意思,就是

这里要加个括号,然后整个if 语句的语句体要用大括号框起来就像Python中的 : 冒号

10.2.1.2 if…else语句

格式:

if (关系表达式) {语句体;
} else {语句体;
}

你也可以这么写:

if (关系表达式) {语句体;
}
else {语句体;
}

一样的
这就跟Python的这个一样的:

if xxxxx:xxxx
else:xxxx

给大家看一个大概的流程图:

10.2.1.3 if…else if 语句

这个其实也不用多说什么了
格式:

if (关系表达式) {语句体;
} else if {语句体;
}

同理:

if (关系表达式) {语句体;
}
else if (关系表达式) {语句体;
}

Java中的else if 其实就跟Python里的elif 一样的,我也就不多说了
记住,else不用加条件,但else if 要加

10.2.2 switch语句

switch语句对于学过C/C++的朋友应该很熟悉,语法也都差不多
不多废话了,直接上格式:

switch (表达式) {case 值1:语句体;break;case 值2:语句体;break;.....default:语句体;break; (这个可加可不加)
}

格式说明:

  • 表达式:取值为byte, short, int, charJDK5以后可以是枚举,JDK7以后可以是String
  • case:后面跟的是要和表达式进行比较的值
  • break:表示终端,结束的意思,用来结束switch语句
  • default:表示所有情况都不匹配的时候就执行该处的内容,和if语句的else相似

10.3 循环结构

10.3.1 for 循环

(未完待续,有时间就跟新)

Java从入门到精通第一版(Java基础)相关推荐

  1. cucumber java从入门到精通_cucumber java从入门到精通(4)Scenario Outline及数据驱动...

    cucumber java从入门到精通(4)Scenario Outline及数据驱动 到目前为止,我们的TodoList类工作良好,不过离我们的预期--任务清单系统还是有不少差距,究其原因不过如下: ...

  2. Java从入门到精通!Java技术培训学校排名

    Java就是个多线程的世界 1. 类的线程安全 我们经常说类是线程安全的,类是线程不安全的.那么什么样的类才是线程安全的? 1.1 定义 多线程环境下,不管不同的线程如何使用和调度这个类,这个类总是表 ...

  3. java从入门到精通_想要开始学java?你要的java从入门到精通布列如下!

    java从入门到精通,让我来告诉你! 毫无疑问,java是当下最火的编程语言之一.对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握java看似是一件十分困难的事.其实,只要掌握了科学的学习方法 ...

  4. java从入门到精通_Java入门到精通、学习路线、就业方向、薪资及前景分析(上篇)...

    今天就大家最关心的Java热门问题进行简要分析,希望能对想要学习或是正在学习Java的小伙伴能够有所帮助~(大家多多关注呦~) 一.首先我们要了解Java是什么? 好学吗? Java是一种广泛使用的计 ...

  5. Java从入门到精通十七(Stream 流)

    Java从入门到精通十七(Stream 流 ) Stream 流引入说明 Stream 流的常用方法说明 1: filter() 2:collect() 3:distinct() 4:sorted() ...

  6. 视频教程:Java从入门到精通

    <Java从入门到精通>视频教程由孙鑫老师录制(作者网站:http://www.sunxin.org),教程通俗易懂,内容全面,带领Java初学者从入门到精通,快速掌握 Java 编程语言 ...

  7. 详细:JAVA从入门到精通视频教程,后台学习历程

    详细:JAVA从入门到精通视频教程,后台学习历程 ==基础部分 由于百度分享有时效性 想要免费资源的请加645969403 1.java基础:高琪java开发300集 链接:https://pan.b ...

  8. java从入门到精通第四版明日科技书籍简介及下载

    Java从入门到精通(第4版)(附光盘) 平装 – 2016年10月20日 <Java从入门到精通(第4版)(附光盘)>从初学者角度出发,通过通俗易懂的语言.丰富多彩的实例,详细介绍了使用 ...

  9. java从入门到精通教程_Java从入门到精通小白教程

    Java从入门到精通小白教程,是小编为大家找到的一套非常不错的java编程学习实战资料,是专业版的学习工具书,它的主要作用是帮助用户进行全面基础学习和进阶准备,是十分靠谱的教程!希望大家好好学习,一起 ...

  10. java从入门到精通 ppt_《Java从入门到精通》第4版全书完整PPT课件

    [实例简介] <Java从入门到精通>第4版全书完整PPT课件 [实例截图] [核心代码] e3a1ab08-ca73-47e5-9a3a-bec0b60c991a └── <Jav ...

最新文章

  1. C++设计模式——适配器模式(对象适配器、类适配器)
  2. 模板方法模式(TemplateMethod) 简介
  3. 中国大学单身 (民间)排行榜!你上榜了没
  4. IT餐馆—第十六回 驱动
  5. PAT乙类1013 数素数 (20 分)
  6. Less入门与安装(转)
  7. python学习-(__new__方法和单例模式)
  8. springboot输出日志到文件配置
  9. 亿图图示(edrawmax中文版) v10.1.7pjb
  10. Matpower使用中问题
  11. 魔鬼训练Day2作业
  12. 更改 Inno Setup 5、6卸载图标
  13. 复盘:图像饱和度计算公式和图像信噪(PSNR)比计算公式
  14. 狗狗大全(送给喜欢狗的人)
  15. 关于符号Symbol第一篇
  16. 6.2排序式检索 词项频率
  17. RealSR性能大幅提升,旷视科技+快手科技+电子科大联合提出“先发散再收敛”的D2CSR
  18. 【工具】Alfred2.5.1使用全攻略!神一样的Mac app!(神一样的搜索)(推荐)
  19. 三年级语文计算机之父教学反思,三年级语文教学反思15篇
  20. Dell Inspiron 15R - QQ语音时麦克风没有声音的设置办法

热门文章

  1. 通过OpenOffice实现Office文档转换为PDF格式的文档
  2. 医院耗材管理系统开发_12
  3. 【MFC开发(8)】下拉框控件Combo Box
  4. 工具使用篇–typora+picGo实现图片上传
  5. 02333自考软件工程知识点总结、考点串讲、考前复习
  6. 软件工程实验报告:图书管理系统
  7. NAT穿越技术详细介绍
  8. PyQt5 电报实时聊天软件 BB-Telegram Pt.0
  9. Linux网卡驱动教程,linux | 网卡驱动
  10. SQL入门:第一章 建立自己的数据库