Java(一)(二)
2019-02-28 07:50:49来源:博客园 阅读 ()
1.JDK JRE JVM三者的关系:
JDK是开发者工具 JRE是运行环境,包含我们开发时所需要的类库 JVM是虚拟机 它是一个载体 平台
JDK -> JRE -> JVM (包含关系,在安装时安装好了JDK就可以了)
2.JDK重要版本:
JDK1.5 里程碑 JDK7 8市面上最常见的版本,为最稳定的版本 JDK11 2018年最新版本
3.环境配置:
检测配置成功: CMD中输入java javac 有一长串信息及安装成功 版本检测:java -version
4.Eclipse:
Java package(创建java工程) -> package(创建包) -> class(创建类)
自动编译 运行: 快捷键 Alt + F11 (但是不推荐)
5.Eclipse工作空间的基本配置:
A:行号的显示和隐藏
显示:在代码区域的最左边的空白区域,右键 -- Show Line Numbers即可。
隐藏:把上面的动作再做一次。
B:字体大小及颜色
a:Java代码区域的字体大小和颜色:
window -- Preferences -- General -- Appearance -- Colors And Fonts -- Java -- Java Edit Text Font
b:控制台
window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font
c:其他文件
window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font
C:窗体给弄乱了,怎么办?
window -- Perspective -- Reset Perspective
window -- Perspective -- save Perspective
D:控制台找不到了,怎么办?
Window--Show View—Console
6.注释:
单行注释: // 多行注释:/**/ 文档注释:/***/
7.关键字:
a:被java赋予特殊含义的单词
b:所有字母为小写,高级文本编辑器中有高亮显示.
8.标识符:
a:以 字母 _(下划线) $ 开头
b:不能以数字开头 关键字不能为标识符
c:中间不能有空格(可以用_(下划线代替))
9.常量:
a:在程序执行期间不可以改变的值
b:整型常量 浮点常量 布尔常量 字符常量(单引号引起的字符) 字符串常量(双引号引起的字符) 空常量
10.变量:
定义的格式 数据类型 变量名 = 初始值;
a:在程序执行过程中.其值在[某个范围内]可以发生改变的数据
b:在程序中创建了一块内存空间(小盒子),用来记录不断发生改变的常量
c:变量一定要有初始值. int a=0; 也可以
变量小问题:
byte,short,int,long,float,double 问题:为什么float占4个字节,long占8个字节,float却比long要大呢?
因为整数和小数,底层的二进制存储结构不同.
System.out.println(Float.MAX_VALUE - Long.MAX_VALUE);
总结:
1. 变量名不允许重复
2. 变量[使用之前]必须完成初始化
3. 一条语句可以定义n个变量,但是中间需要通过逗号隔开
11.数据类型:
整数类型:byte 1个字节 shout 2个字节 int 4个字节 long(L) 8个字节
浮点类型:float(F) 4个字节 double 8个字节
布尔类型:true 1个字节 false 1个字节 [ 理论上来说,八分之一个字节就能表示他的大小,但是计算机当中最小的存储单位是字节,所以它应该占1个字节。]
字符串类型:char 2个字节
12.数据的隐式转换:
总结:
1: 将小的数据,给大的数据类型赋值,可以直接赋值。
2. 当小的数据类型和大的数类型做运算的时候,会先将小的,提升为大的之后,再做运算。
举例:
1:
int i = 10; // 4个字节
System.out.println(i);
double d = i; // 8个字节
System.out.println(d);
2:
byte a = 100;
int b = 100;
int c = a + b;
13.数据之间的强制转换:
格式:
(要强转的类型)将要转换的值;
总结:将大的数据,给小的数据赋值时,不能直接赋值,需进行强转
举例:
1:
int i = 100; byte b = (byte)i; System.out.println(b);
注意:
如果强转的值, 超过了数据类型的取值范围, 那么结果可能会跟我们期望的结果不同(损失精度)
byte b = (byte)130; --> 127
--> -126
14.算术运算符:
算数运算符(自增自减运算符)
赋值运算符
关系运算符[比较运算符]
逻辑运算符
三元运算符[三目运算符]
15.字符和字符串参与加法操作:
System.out.println('a' + 1); // 输出结果? 98
当char类型和整数类型进行运算的时候,实际是 找到底层的ASCII数值,然后进行运算
16.++和--自增自减运算符:
a++: 先用自己去参与运算,再进行自增
++a:先指针,再去参与运算
17.逻辑运算符:
& :无论左边返回的结果是true还是false, 右边都必须执行
&&: 有false则false
| :
|| : 有true则true
^(异或) : 相同为false,不同为true 特点:一个数,被另外一个数,异或两次,该数本身不变。
举例:
实现两个变量的数值交换, 不允许定义三方变量,怎么做?
public static void main(String[] args) { int a = 10; int b = 20; a = a ^ b; // 10 ^ 20 b = a ^ b; // 10 ^ 20 ^ 20 --> 10 a = a ^ b; // 10 ^ 20 ^ 10 --> 20 System.out.println(a); System.out.println(b); }
18.三元运算符:
格式: (表达式)?值1:值2;
先执行表达式, true则执行值1 false则执行值2
19.Scanner键盘录入:
1 键盘录入两个数据并求和 2 3 public class Demo_Scanner { 4 public static void main(String[] args) { 5 // 1. 创建Scanner键盘录入对象(机器) 6 Scanner sc = new Scanner(System.in); 7 8 System.out.println("请输入两个整数:"); 9 10 // 2. 使用机器的功能,做两次键盘录入 11 int num1 = sc.nextInt(); 12 int num2 = sc.nextInt(); 13 14 // 3. 求和 15 System.out.println(num1 + num2); 16 } 17 }
20.if语句:
三种格式:
(1) if(表达式){ 语句体 } (2) if(表达式){ 语句体1 }else{ 语句体2 } (3) if(表达式){ 语句体1 }else if{ 语句体2 }else{ 语句体3 }
执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,
如果都是false,就执行语句体n+1。
注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示
30.switch语句:
格式:
switch(将要匹配的值) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
case穿透:
public class Demo3_Switch { /* * 结论:switch语句中的break可以省略,但是会出现case穿透的现象 * * 细节: * 当表达式匹配成功之后,执行其对应的语句体,但是没有遇到break,这时候switch将会进入疯狂状态 * 不会再进行case的匹配的,只是疯狂的向下执行,寻找break * * 需求:键盘录入数值,根据数值打印内容 * 1-5输出工作日 * 6-7输出休息日 * * * 问题: * 什么时候该使用if,什么时候该使用switch? * * 对于范围性的判断,使用if语句更加合适 * * 一般匹配固定值的时候,switch更加合理 */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入:"); int week = sc.nextInt(); switch (week) { case 1: case 2: case 3: case 4: case 5: System.out.println("工作日"); break; case 6: case 7: System.out.println("休息日"); break; default: System.out.println("数据非法"); break; } } }
原文链接:https://www.cnblogs.com/prodqi/p/10448881.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:jsp中的地址引用
下一篇:URL和URI的区别
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash