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 voidmain(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 classDemo_Scanner {4 public static voidmain(String[] args) {5 //1. 创建Scanner键盘录入对象(机器)

6 Scanner sc = newScanner(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 classDemo3_Switch {/** 结论:switch语句中的break可以省略,但是会出现case穿透的现象

*

* 细节:

* 当表达式匹配成功之后,执行其对应的语句体,但是没有遇到break,这时候switch将会进入疯狂状态

* 不会再进行case的匹配的,只是疯狂的向下执行,寻找break

*

* 需求:键盘录入数值,根据数值打印内容

* 1-5输出工作日

* 6-7输出休息日

*

*

* 问题:

* 什么时候该使用if,什么时候该使用switch?

*

* 对于范围性的判断,使用if语句更加合适

*

* 一般匹配固定值的时候,switch更加合理*/

public static voidmain(String[] args) {

Scanner sc= newScanner(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;

}

}

}

Java中加二怎么打_Java(一)(二)相关推荐

  1. Java中加载配置文件方式的总结

    当需要在Java中加载配置文件的时候,有几个选项提供选择: ·        File ·        Class.getResourceAsStream ·        Class.getCla ...

  2. java中实现具有传递性吗_Java中volatile关键字详解,jvm内存模型,原子性、可见性、有序性...

    一.Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作 ...

  3. java中为什么要用注解_java中的注解,真的很重要,你理解了嘛?

    这篇文章开始讲解java中的注解,在平时的开发当中我相信你或多或少的接触过注解.比如你可能都见过@override,它代表的就是一个注解.但是,为了更加清晰的去介绍注解,我还是先给出一个例子,让你能够 ...

  4. java中math类的作用_Java开发知识之Java的数字处理类Math类

    Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...

  5. java中object类怎么赋值_Java面向对象之Object类

    一.继承体系的老祖宗是Object类.(Object类是所有类的父类) 当我们不希望在程序中某些类被继承,某些方法被重写,某些数据被修订.就是final关键字闪亮登场的时候了. 一个类没有使用exte ...

  6. java中相对路径怎么写_java中如何使用相对路径读取文件

    java中使用相对路径读取文件的方法:1.使用文件[File file = new File("src/test.txt")]方法:2.使用类的相对路径:3.使用当前线程的类加载器 ...

  7. java中用于选择按钮的语句_java程序员考试套题1

    Java练习一 一.选择题 1.在Java中,下列()方法可以把JFrame对象jFrame的布局管理器设为FlowLayout 类型. A.jFrame.setLayout(new FlowLayo ...

  8. java中属性文件读取案例_java相关:Spring中属性文件properties的读取与使用详解

    java相关:Spring中属性文件properties的读取与使用详解 发布于 2020-6-3| 复制链接 摘记: Spring中属性文件properties的读取与使用详解实际项目中,通常将一些 ...

  9. java中random的头文件_JAVA中的Random()函數

    Java中存在着兩種Random函數: 一.java.lang.Math.Random; 調用這個Math.Random()函數能夠返回帶正號的double值,該值大於等於0.0且小於1.0,即取值范 ...

  10. Java中的几种引用类型_Java中的几种引用类型(转载)

    Java中的对象引用主要有以下几种类型: 1)强可及对象(strongly reachable): 可以通过强引用访问的对象,一般来说,我们平时写代码的方式都是使用的强引用对象,比如下边的代码段: S ...

最新文章

  1. 还不懂Docker?一个故事安排的明明白白!
  2. sublime配置运行python文件的快捷键
  3. python2019慕课答案_中国大学慕课mooc2020Python编程基础章节测试答案
  4. [团队开发]总结下Server 2008 + TeamFoundation Server 2008安装过程
  5. 用python快速合并代码(方便软著申请)
  6. python数字字符串乘以2_Python基础(2)_数字和字符串类型
  7. 怎么实现hover_写CSS动效的常用套路(附demo的效果实现与源码)
  8. innodb事务锁的一些常见数据结构
  9. APP测试——经典面试题分享
  10. 3dmax蒙皮详细教程
  11. php excel导出科学计数法,php导出excel时科学计数法的处理方法
  12. 【高等数学笔记】格林公式、高斯公式、斯托克斯公式、场论
  13. 从EXCEL导入CAD后如何设置表格文字大小?
  14. 大数据职业理解_大数据的职业发展规划
  15. 开启充电计划升级职业生涯,让我们相聚社科院杜兰金融管理硕士项目
  16. SSM框架流浪动物管理系统宠物寄样收养领养宠物收容所管理(idea开发javaweb-javaee-j2ee-springboot)
  17. CH552-HID 键盘 鼠标
  18. 除了喊话SHEIN,AllyLikes还有阿里的另一层考量
  19. 考研由考生编号估计学校,报考人数和专业
  20. [生存志] 第59节 仲尼弟子座次

热门文章

  1. leetcode 1306. Jump Game III | 1306. 跳跃游戏 III(BFS)
  2. 使用 Flask-apidoc 自动生成 Api 文档
  3. 【Java入门】package包
  4. PAT1045 快速排序 (25 分)【4/6通过】
  5. java安全编码指南之:Thread API调用规则
  6. java 中的fork join框架
  7. C/C++中输入带空格的字符串 string 转 char*
  8. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)——Web网络系列学习笔记
  9. 【测试点2分析】:1020 月饼 (25分)(甲级 1070 Mooncake (25 分))
  10. 浅谈万进制算法与大数定理的结合(高精度乘除法,阶乘)