《小旺旺和熊猫一起写的作业》

大家好,我是DreamingGod123。
现在是2019年3月18日的中午了
在这里插入图片描述
这是第一次正儿八经的写博客文章了,希望能把文章的质量写好,方便以后自己忘记了来看看,也为了以后有人看到了可以更快的学习吧。

0x01 前言

我是学的Java,一开始我并没有接触过程序,在我眼里程序就是很厉害的那种手指在键盘飞舞的感觉,噼里啪啦一顿敲。

然后 学了这段时间,感觉虽然自己离着这个目标很远,但是也挺有意思的。
首先,我们先要了解一下什么是程序。
在这里插入图片描述
比如生活中,与生活息息相关的。在银行办理手续的时候,我们首先要拿身份证取号,然后等着叫你,然后再办理。这是生活中的程序。

然后我们先来科普一下什么是计算机程序,度娘上图
在这里插入图片描述
这里提到了计算机动作的指令,那么我们不得不借助一些编程语言了。
编程语言就是给计算机下达各种指令,当这些指令集合在一起的时候,它就是计算机程序了。

主流的编程语言太多了 例如:Java Python C C++ Go Ruby C#……
因为我学的是Java,所以咱们就来聊一聊Java的历史吧
在这里插入图片描述
首先我们要知道我们的祖师爷是:Java语言之父-詹姆斯•高斯林
Java是sun公司于1991年开始进行了一个项目的启动,那么这个项目的名字呢,叫做oak
1996年的时候正式推出了JDK1.0版本,1998年的时候将JAVA划分了三个领域 (分别是Java SE ---------Java EE -----------Java ME)
Java SE 是标准版本,面向桌面程序开发 例如QQ呀 迅雷啊
Java EE 是企业版本 ,面向网站等开发 例如 淘宝 天猫 京东

还有就是我们的Java ME 版本了,这个基本凉凉了在这里插入图片描述
这个Java ME是用来开发手机移动端的,例如塞班系统

在这里插入图片描述
好了,我们继续说Java的历史,2009年Sun公司被Oracle公司以74亿美元收购了,然后时隔十年,现在2019年,Oralce公司也终于开始收钱了。

具体历史就不太多介绍了,详细可以看以下这篇文章。
Java历史简介

0x02 渐入正题
首先,我们了解一下Java虚拟机与跨平台的原理吧
以前没有跨平台的时候,为了适配不同的系统平台,程序员要开发多套程序,这样太麻烦了。所以Java这个跨平台的特性就很让人喜欢咯
Java是如何跨平台的呢?是记住java虚拟机 英文名JVM
只要平台能够按照好Java虚拟机,就可以正常的允许Java程序了
在这里插入图片描述
那么看看下图你们就会理解了
在这里插入图片描述
JAVA源码—通过编译器编译成.class文件—运行在虚拟机上----然后虚拟机运行在各种平台上。

0x03 安装属于JDK环境 配置环境变量
其实这个网上有很多教程了,基本上按照他们的操作就可以了。
我简单截图说一下吧,基本上按照的时候下一步就可以了
然后最后设置一下Path的路径 和 JAVA_HOME的变量就可以了
安装的时候记住你的路径(你安装到哪里了)
然后,我的电脑右键属性高级系统设置

然后呢我们点击环境变量
在这里插入图片描述
Path里面我们直接放入你的JDK安装路径
类似于 D:\Program Files\Java\jdk1.8.0_192\bin
然后 再外面新建个
在这里插入图片描述
类似我这样,然后新建个Path 引用这个路径
在这里插入图片描述
然后打开cmd命令提示符,输入java 或者 javac 或者java -version
在这里插入图片描述
要是这样的就没错了,就可以开始我们的Java之旅了。

0x04 开始编写属于自己的第一个程序

工欲善其事,必先利其器。在开始之前呢,我们先下载一款软件
软件的名字是:notepad++ ** https://notepad-plus-plus.org/ 这是官网**
下载好以后就可以开始了
这里我就用Sublime text编辑器,基本上差不多。
现在先新建一个txt文本文档,命名为Demo.java

文件的开头字母必须为大写,格式必须是java
然后我们开始写
在这里插入图片描述
这样呢,我们第一个小程序就写好了。
然后我们需要编译为.class文件 (也就是字节码文件)
这里说一下怎么编译与运行
首先我们要用到java命令和javac命令
编译 javac .class文件名
运行 java 文件名 (不用扩展名)

这里可能涉及到一些cmd命令 你们就在cmd窗口输入help 有对应的命令和用法的

然后我直接上图吧
在这里插入图片描述

这里就完成了第一个小程序了。
然后我们需要一些细节,也就是规范
1.类名和文件名保持一致,首字母大写,如果有多个单词呢,每个单词的首字母要大写。
2.main方法必不可少,每一个要素都要正确
3.编写的语句,一定要注意单词字母的大小写,因为java是严格区分大小写的。
4.类声明或者main方法都要有{} 而且呢 必须要进行规范的对齐
5.注意层次的缩进,每往下一级必须注意缩进4个空格。这样既增加了代码的美观,可读性也提高了,假如真的层次乱了,没关系,这里有一个快捷键方法帮你:
在这里插入图片描述
CTRL+SHIFT+F 就会帮你把代码自动缩进了 当然可能会有一些小瑕疵吧
说到了美观,这里不得不提注释这个功能
它的好处就是方便我们理解代码的流程,让我们的代码看起来逻辑思维 框架更清晰,便于我们编写程序的思路
java中有三种注释的方法
***单行注释:// 用于标注一行的代码意思
多行注释:/
*/ 用于方法的解释或者方法内多行解释
文档注释:
/** / 用于类方法 属性等注释***
PS:注释掉的代码不会再执行,也不会干预到程序的使用。****

0x05 变量和数据类型

先了解一下变量和常量的命名规范吧

变量名称的规范:
1.java中的变量由数字,字母,下划线或者$号组成,数字不能开头
2.java中的变量名不能使用关键字或者保留字
关键字:在语言中有特别含义的单词
保留字:还没有设定含义,但是可能未来会被赋予特殊含义的单词
3.变量名呢应该看词知意。我举个例子在这里插入图片描述
例如:存储姓名name 存储年龄age
4.变量名应该采用驼峰命名法,首字母小写,如果有多个单词,后面的每个单词的首字母要大写,举个例子:username 这是用户名的意思,但是由于都是小写的,一眼不了然。所以用驼峰命名法userName 这样就明显的好多了
变量名不应该为拼音+英文形式,要么全拼音,要么全英文。

0x06 变量的使用

变量的使用有两种
1.先声明在赋值
int num; //这是先声明num的值
num = 10 //然后在把10这个数值赋值给num 这里一定要记得是从右边往左读

2.声明的同时赋值
int num = 10; //在声明num的时候,就已经把10的值赋给num了。

java中的变量值应该划分成两类
一种是数值的 另外一种是非数字类型的
在这里插入图片描述
整数型的数值有byte short int long
(浮点类型的,也就是带小数点)float double

然后是非数值类型的有char Boolean
charcharacter 字符 也就是只能是一个字
double是双精度 也就是小数点的数字就用它了

数据类型转换 自动类型转换

取值范围小的可以自动转换为取值范围大的

然后强制转换的:取值范围大的需要强制转换成范围小的,但是它会损失精度,如果没有什么特别情况尽量不要转
例如:
在这里插入图片描述

0x07 键盘录入的使用

这个就很好玩了,你输入什么信息就能输出什么信息,与你交互,有点意思哦~~

在这里插入图片描述
在这里插入图片描述
流程就是

1.导入Scanner
import java.util.Scanner; //这个必须放在类声明上面,包声明的下面

在这里插入图片描述

然后第二步,创建Scanner对象
Scanner input = new Scanner(System.in);
然后提示用户输入信息
System.out.print("输入信息:");

然后呢根据需要,输入的是什么类型的数据
假如是整数就是 nextInt();
假如是小数就是 nextDouble();
假如是字符串就是 next();

0x08 那些常见的运算符

运算符有很多种,分别是赋值运算符  复合算数运算符   关系运算符   逻辑运算符  以及 三目运算符

在这里插入图片描述

赋值运算符

=不叫等号/相等 编程中是赋值的含义
见到它,你就应该从右往左读
Int num = 10;//将10赋值给了类型的num
Int num1 = num; // 将num的数值赋值给num1

算术运算符  +   -   *  /  %
+ - * /就是数学里面的加减乘除,然后这个% 是获取余数的意思

还有就是++ 以及 –
++就是自增1 --就是自减1

前++和后++区别、
前++是先进性变量值的操作,然后再使用变量。
后++是先使用变量,再给变量值进行操作。

————————————————————————————————

复合算术运算符
+= -= /= *= %=
比如:num += 2; // num = num + 2;


关系运算符

  <           >=          <=       ==(相等) !=(不相等)

逻辑运算符
&& 与(并且)

|| 或(或者)

! 非(取反)


三元/目 运算符
在这里插入图片描述
运算符的优先级:
单目运算符包括! ++ – ,优先级别最高
优先级最低的是赋值运算符
可以通过()控制表达式的运算顺序,()优先级最高
从右向左结合性的只有赋值运算符,三目运算符和单目运算符
算术运算符 > 关系运算符 > 逻辑运算符

0x09 if系列选择结构

前言:想界定是不是编程语言,就必须要看它是否存在选择和循环结构
掌握if选择结构
先看一下原理图吧
在这里插入图片描述
基础的if结构
if(条件表达式){
// 条件成立之后 输出的内容
}
_______________________________________________________
互斥if-else结构
If(条件表达式){
//条件成立执行的内容
}else{
//其他的情况
}
以下的图片是互斥if else 多重结构

在这里插入图片描述
多重if是自上而下进行判断,只要有一个条件成立,就不继续判读了
If(条件1){
}else if(条件2){
}else{
}
注意事项
1.多重if里的else if一定要结合if使用不能单独使用
2. 多重if可以写N个else if也可以添加else作为补充语句(根据需求)
3. 多重if是自上而下执行判断的,只要有一个条件成立,剩下的判断都不会执行,必须保证一定的顺序
——————————————————————-——————————
嵌套if选择结构
If选择结构上可以随意嵌套的
根据需求来嵌套看即可

在这里插入图片描述

0x10 Switch结构

先看一下注意事项吧

在这里插入图片描述

Switch(表达式){
		case 常量1:
			//执行的语句
			break;
		case 常量2:
			//执行的语句
			break;
Default:
	       //默认处理
	        break;
	        }

注意事项:

switch只支持int String,但是因为自动类型转换,所以byte short   char 也可以支持。

switch中的case后面必须接受唯一的常量

switch中的每一个case后如果没特殊情况,需要添加break,否则会出现case穿透现象。

如果没有特别情况,建议在结尾添加default作为默认处理

看一下加break 和 不加 break的区别吧在这里插入图片描述

在这里插入图片描述

0x11 尾声

最后总结一下吧
if和switch的区别
相同点:都是选择结构,都可以做等值判断

不同点:语法不通,switch只能用于等值判断,而if还可以用于范围判断
在这里插入图片描述
文章到这里就基本上结束了,欢迎各位朋友一起来交流。

猜你喜欢

转载自blog.csdn.net/DreamingGod123/article/details/88647278