本文作者 Mr.赵 Email: lovelyalan@foxmail.com 原创文章,转载标明作者,连载中 Java是Sun Microsystems于1995年推出的高级编程语言; 支持windows,unix,苹果Mac系统 Java SE 标准版 支持面向桌面级应用 Java ME 小型版 支持Java程序运行在移动终端 Java EE 企业版 针对企业的对于Web应用程序开发 JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE JRE是如果你想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。 编译概念: 使用 javac 将 源文件(.java) 编译为 字节码文件(.class) 反编译概念:将 **字节码文件(.class)**转换成 源文件(.java)的过程称为反编译 Javadecompilers 一个免费快速的反编译网站 “变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。 先声明,再使用. 示例: 以数字,字母,下划线和$符号组成,其中不能以数字开头 0a , 0b , 2hello这样以数字开头的变量名不可以 ab , x , $hello , _i 这样的变量符合要求 不能和Java中的关键字重名; 前面的Hello world代码示例中,大家看到了public或class这种单词了吗? 这些单词是让计算机理解你写的代码的命令,所以不能和它们重名哦~ 尽量遵守见名知意和驼峰命名规则。 见名知意: 比如我要写一个 计算所有人年龄的平均数,那我应该给它起名 ageAvg (age是年龄的意思,Avg是average平均的意思) 驼峰命名: 相信大家注意到了,为什么上面的 ageAvg 我不用AGEAVG,AgeAvg等命名呢,驼峰命名的规则就是想让 名字像骆驼的背一样,这样更美观,一般来说首字母小写例如age的a,新的单词加入,首字母大写,例如:Avg的A用了大写 变量名不可以与已经声明的变量名重复,例如 如果这样写 程序就会报错,无法编译运行 请分清 声明 和 赋值的区别 a只声明了一次,赋值是无所谓的,所以可以编译运行 一个数据存储空间的表示,其值是不可以发生改变的,所以其实相对安全的 常量名通常大写,不同字符使用下划线分隔 如: AGE**_**AVG 只能被赋值一次,通常定义时即对其初始化 为什么使用常量? 在实际开发和生活中有些值是一开始定义了在后面就不能修改的,如:圆周率 数据类型前面加上 final 基础补充: 位(bit)是计算机最小存储单位 它只能存0或1,感兴趣可以学一学 计算机科学 下图中我们只需要了解 位(b) – 太(T) 单位即可 数值型 字符型 char(2字节) : 本质上是一个整数, 是字符的ASCII码值. 布尔型 boolean(1bit):boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中按位算,仅需1位(bit)即可存储 什么时候使用布尔 是 或者 否 类似于这样两种情况的时候可以使用boolean类型的值 比如软件的关闭提示, 你是否真的退出软件呢? String(值越长,占的空间越大): 在java中 首字母的S必须大写,String可以存任何值,值需要用””两个引号圈起来 补充: 赋值符号: = 那么age的值就是21, /就是除法,%就是模mod运算(你暂时理解成求余数的运算) 关于模运算,你想深入研究的话我给你准备了两个资料 简书 百度百科 ++,与– 基础补充:System.out.println(); 是打印输出其括号里的值到控制台 1处会输出0 , 2处会输出 1 三处会输出 1 你发现规律了吗? ++就是+1, –自然是-1 如果++或–放在变量(上文中是i或j)后面,那么就会将下一次出现此变量时+1,就比如上文中的1处 i++出现的时候,它还是0,当它下一次出现的时候(2处),进行+1 就变成了 1 如果++或–放在变量(上文中是i或j)前面,那么它就会**立刻+**1 所以3处的j就立刻变成了 1 看不懂或者懵了别害怕,这里请上机练习一下,自己动手试一下,你就明白其中的奥妙啦! 基础补充: 关系运算符的值是 boolean(布尔)类型的, true代表真的 false代表假的 上文中提到过 两个引号 “” 包起来的数据 是 String类型的值,所以它输出了 true 这里请上机练习,实际操作一下! 思考时间:结合你所学的知识,你看懂了吗? 上机练习一下吧 又称三目运算符 请问布尔型变量 i 的值是什么? 结果肯定是 false,因为1小于2,程序会执行 冒号(:)后面的表达式,请根据语法图片仔细思考 如果 1>2 换成 1<2 呢? 上面讲到 int只能存整数,变量赋值(=)时必须对应数据类型, 那假如我想把int类型变量赋值给double呢? 那double赋值给int呢?数据类型之间的转换肯定是有规律的! 自动类型转换 上面的代码 a 是int类型的,为什么可以直接赋值给 double呢? 其实变量自动转换了,小的值可以存到大的空间里面,如何理解这句话? 拿生活举例,你有一个200ml的小杯子和一个500ml的大杯子,200ml的小杯子装满了水,你想倒入500ml的大杯子里,显然没有任何问题. 如果反过来呢? 我500ml的杯子装满了水 可以倒入 200ml的小杯子里吗?显而易见,会溢出水 结论:自动转换存在优先级,小的数据类型可以自动转换为大的数据类型,优先级如下 String>double>float>long>int>(short,byte,char) 强制类型转换 数值型的数据可以互相转换,我们都知道double比Int大,所以就需要**在变量a前面加个(int)**告诉程序 我就是要转,非要转. 结果为10,因为int只能存整数, java可没有什么四舍五入,强转会丢失数据精度,尤其在财务等方面慎用。 第5行的 input 是变量,可以自定义,符号上面讲的命名规范即可. 当程序运行到 1处 后,会暂停等待你输入一个值(只能输数字),输入后 会用值通过 “=”赋值运算符赋值给变量 i , 然后 2处 将i的值 (你输入的) 打印出来 但是这个程序输入 字母或者符号就会 Boom 奔溃掉,为什么呢? nextInt()大家观察一下,next后面的int, next后面的值决定了它可以输入什么类型的值例如 nextDouble() 你肯定也发现了 第二个字母首字母要大写哟~ 我为你准备了更多资料 深入学习 小惠: 嗨,我们晚上去吃火锅吧 if (条件) { 代码 } 我们可以这么理解上面的使用场景 **if **(小赵的牙晚上不疼了) { 和小惠一起去吃火锅 } 如果**() 半圆括号**中的条件符合 就执行 { }花括号里的代码,否则什么也不会发生 套用这个格式,把代码中的中文替换成 Java代码表达式即可 你认为程序会输出什么呢? 注意: score大于90吗? 思考时间:我只添加一个等于号(=),就可以输入奖励手表,你想多怎么做了吗? 仔细思考,看不懂多看几遍,别放弃,加油! 使用场景 小惠: 嗨,我们晚上去吃火锅吧 代码实现 语法 代码与之前的有什么不同呢? 是不是多了一个 && 呀, 你还记得吗,我们在第二章变量数据类型与运算符-四.运算符-4.逻辑运算符 讲过它,翻回去看看吧~ 这样的写法就将两个条件表达式代入判断, &&的作用就是 同时,它的名字是 与,只有当左边和右边**同时符合(同时为true)的时候,才执行花括号{}**里的代码 逻辑运算符肯定不止这一个,||或,这些就要看你自己探索啦~ 使用场景 在上面案例讲if的时候只讲过牙疼不能吃骨头,没讲牙不疼吃什么,这里我们来解决 流程图 语法 如果小赵Java考试成绩大于90分,就奖励他一个手表,否则就罚他抄写代码 程序只会执行其中一个,因为不可能存在成绩又大于90又小于90的情况 如果小赵考了88分,你能想到结果吗? 多重else-if 使用场景 如果小赵Java考试成绩大于90分,就奖励他一个手表,否则就看看及格大于60分了,如果及格了就什么鼓励他一下,否则就罚他抄写代码 流程图 语法 这里你需要注意的是 程序只会执行其中一个, 如果成绩大于等于 80分 这个if-else结构就中断了,如果不符合第一个条件,就说明成绩没有大于等于80分,判断第二个条件,如果成绩及格了,就执行它的代码然后结束程序,否则执行最后一个条件,因为成绩又不大于80,又不大于60,只能说明不及格了 思考时间: 1.程序会输出什么呢? 2.if里面的条件顺序是否可以随意更换? (重点) 使用场景 小赵:今晚我们去看电影吧? 小赵:那我们看 当幸福来敲门 吧? 流程图 这张图看不懂就不看了,不重要 语法 你想通了吗? 使用场景 小赵参加计算机编程大赛 if结构实现办法 是不是感觉非常繁琐与啰嗦呀 switch结构实现办法 程序会获取 switch() 括号中的值,一个个向下比较,看看case后面跟的值是否与我的括号里的值相同,相同就执行符号要求的case. 这时候括号里填的就是数据,可不是条件表达式了哦~ switch有以下规定 switch和多重if的对比 相同点: 都是用来处理多分支条件的结构 不同点: switch结构: 多重if选择结构: 到目前为止我们学习过五种选择结构: switch:选择结构 学习不是纸上谈兵,实践出真知,给大家一句我特别喜欢的话 师傅领进门,修行看个人
Learing way
初识Java
一.什么是Java
1.Java的产生
2.特性
3.发展
①历史
②平台
二.环境准备
1.Jdk与Jre
2.下载与安装
三.HelloWorld
1.示例代码
public class HelloWorld { public static void main(String[] args){ System.out.print("Hello world!"); } }
四.反编译
1.概念
2.工具
变量数据类型和运算符
一.变量
1.概念
2.如何使用
int age=18;
3.命名规则
int a = 0; int a = 1; //错误示范,请勿学习
int a = 0; a = 1;
二.常量
1.概念
2.意义
3.使用
final int age=18;
三.数据类型
1.基本数据类型
当我们遇到 真 或者 假2.引用数据类型
String name = "赵同学,_Helloworld,.!@#$%";
四.运算符
1.赋值运算符
将右边的值赋给左边的变量,示例可以看上面引用数据类型介绍2.算术运算符
int age=18+3;
public static void main(String[] args) { int i = 0; System.out.println(i++);//1 System.out.println(i);//2 int j = 0; System.out.println(++j);//3 }
3.关系运算符
4.逻辑运算符
5.三元运算符
boolean i = false; 1>2? i=true : i=false
五.数据类型转换
1.概念
2.用法
int a = 1; double b = a;
double a = 1.2; int b = (int)a;//1
int a=(int)10.6; System.out.println(a); //10
六.输入类
import java.util.Scanner; //或者 import java.util.*; public class test { public static void main(String[] args){ Scanner input = new Scanner(System.in); int i = input.nextInt();//1 System.out.println(i);//2 } }
选择结构
一.概念
1.使用场景
小赵:我现在牙还在疼,如果到晚上的时候不疼了我们就一起去二.语法
1.流程图
if(小赵的java成绩>90分){ 获得手表作为奖励 }
double score=90.0; if(score>90){ System.out.println("很棒,奖励一个手表"); } System.out.println("程序结束");
三.进阶
1.复杂的逻辑表达式
小赵:听说今天下暴雨,而且我现在牙还在疼,如果到晚上不下雨且我的牙不疼了我们就一起去if (晚上不下雨 && 小赵的牙晚上不疼了) { 和小惠一起去吃火锅 }
2.if-else结构
if (小赵Java成绩> 90 ) { 奖励一个手表; }else { 惩罚抄写代码; }
if ( 成绩>=80) { 奖励一个手表 } else if (成绩>=60) { 鼓励小赵好好学习 } else { 罚他抄写代码 }
double score=77; if(score>=80){ System.out.println("良好"); }else if(score>=60){ System.out.println("中等"); }else{ System.out.println("差"); }
3.if嵌套
小惠:好啊
小惠:好if(小惠看不看电影) { //如果看,就判断下一个条件 if(小惠看不看 当幸福来敲门) { 晚上和小惠一起去看 当幸福来敲门 } else { 晚上和小惠一起去看其他的电影 } } else { 改天再约 }
4.switch结构
如果获得第一名,将参加麻省理工大学组织的1个月夏令营
如果获得第二名,将奖励惠普笔记本电脑一部
如果获得第三名,将奖励移动硬盘一个
否则,不给任何奖励int mingCi=2; if(mingCi==1){ System.out.println("参加夏令营活动"); }else if(mingCi==2){ System.out.println("奖励笔记本一部"); }else if(mingCi==3){ System.out.println("奖励移动硬盘一个"); }else{ System.out.println("没有奖励"); }
int mingCi=2; switch(mingCi){ case 1: System.out.println("参加夏令营活动"); break; case 2: System.out.println("奖励笔记本一部"); break; case 3: System.out.println("奖励移动硬盘一个"); break; default: System.out.println("没有奖励"); break; } System.out.println("程序结束");
只能处理等值条件判断的情况
没有switch选择结构的限制,适合更复杂的逻辑判断
四.总结
基本if选择结构: 处理单一或者组合条件的情况
if-else选择结构:处理简单的条件分支情况
多重if选择结构:处理复杂的条件分支情况
嵌套if选择结构:用于较为复杂的流程控制
多重分支并且条件判断是等值判断的情况。
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算