javaSE知识总结(上)

一、输出

  • 专业属于

  1. JDK:java development kit java开发工具包

  2. JRE:java runtime environment 运行环境,包含Jvm,类库,接口

  3. JVM:java virtual Machine 虚拟机(,模拟计算机),与把不同的系统cpu进行交流

    • 注:安装的JDK中包含JRE,JRE中包含JVM

  • 历史

  1. 1995年sun公司创立

  2. 2009年oracle(甲骨文)公司收购

  3. java之父:詹姆斯-构思林

  • java代码的运行过程

  1. 编译阶段:

  1. java程序员编写.java文件源码

  2. javac.exe 编译生成calss文件

2.运行过程

1.java.exe装载字节码文件到Jvm 2.Jvm解释器解释成01二进制代码 3.交给系统Cpu处理,控制硬件

  1. JDK安装:oracle官网 Oracle for Developers | Programming Languages, Tools, Community

  2. 配置环境变量

  3. 用户变量与系统变量的区别

系统用户控制的范围: 整个系统中所有用户都可以使用 用户变量控制的范围:只有改用户可以使用

二、输入(数据类型与变量)

  • 专业属于

1.标识符:程序员可以自己决定的名字,有特殊含义的符号 规则:首字母:英文字母、、下划线<b**r>非首字母:英文字母、、下划线、数字 2.关键字:提前定义好的具有特殊含义的单词 3.保留字:暂时不用的关键字 4.字面量:固定不变的量,数据/数值 变量;存储字面量的标识符

  • 数据类型

  1. 数据类型表

    数据类型字节数取值范围
    byte1-128~127
    short2-32768~32767
    int4-2147483648~2147483647
    long8-2^63~2^63-1
    flaot4-2^31~2^31-1
    double8-2^63~2^63-1
    boolean1true/false
    char2[0,2^16-1] /0~65535
  2. 字节转化

1byte = 8bit位 1字节 = 1byte 1kb = 1024字节 1mb = 1024kb 1gb = 1024mb

  1. 整型 byte、 short、int 、long

byte = 128;
//报错:不兼容类型,int转byte可能会有损失
long L =  2147483648
// 报错: 过大的整数2147483648
  • 重要结论 1.整型字面量在java中数据类型都是int 2.byte、short、char赋值没有超过取值范围可以直接赋值 3.开发时整型一般用int类型 4.使用long类型的时候后面加L

  1. 数据类型转化

1.强制数据类型转化:大容量转小容量,大容量前面添加需要转化的数据类型 2.自动数类型转化:小容量数据转化成大容量数据

  1. 浮点型float、double

1.所有浮点型字面量默认为double类型 2.如果要使用float 需要在数据类型中添加F 3.所有浮点类型都是近似值(有无限循环小数的存在)

  1. 字符型char

  1. 只能存一个字符,但是转义字符除外

  2. char可以赋值整型数据,找ASCll解码

  3. ascll码:美国标准信息交换代码,a--> 97 A-->65

  4. 字符编码集:一张映射表 解码:10101010-->A 解码:A-->10101010

  5. 常见的编码:GBK:中文简码 Big5:繁体字 Unicode 国际编码 (utf-8、utf-16、utf-)

  1. Boolean类型不可以转化为其他类型数据,强制转化也不行

  2. byte short char 混合运算的时候,会将各自数据类型转换为int类型运算,得到的结果是int类型

  3. 各种数据类型混合运算的时候,会将各自数据转换成最大容量的数据类型进行运算,结果就是最大容量数据类型

  4. 逻辑运算符

  1. 语法: 表达式 逻辑运算符 表达式 表达式的结果必须为boolean类型

  2. 短路: && 前面表达式结果是false,后面表达式不执行(两真则真,一假则假); || 前面结果为true 后面表达式不执行(一真则真,两假则假) ! --> 取反

  3. 普通逻辑运算符 & | ! 不管前面表达式是false还是true,后面表达式都执行

  1. 运算符的优先级:()>算术运算符>比较运算符(为什么我老是记不住这个~)>逻辑运算符>赋值运算符

  2. 输入类Scanner,使用步骤

  1. 导入整个类,import java.util。Scanner;

  2. 实例化对象, Scanner mys = new Scanner(System.in);

  3. 提示用户输入数据

  4. 接受用户输入的数据 ,mys.next();

  5. 基本数据类型已经引用中的String,怎么使用Scanner输入

Scanner mys = new Scanner(System.in);  
int n = mys.nextInt();                //整型int
double d = mys.nextDouble();          //双精度,double
float f = mys.nextFloat();            // 浮点float
// char 这个有点特别,char c = mys.next().charAt(0);就用下面的例子解释一下
​
char c = mys.next().charAt(0);
int a = 10,b = 20;
switch(c){
  case '+':
        System.out.println(a + b);
        break;
  case '-':
        System.out.println(a - b);
        break;
  default:
        break;
}
 
  1. 控制语句:改变代码执行的顺序

1.if 分支语句 单if结构,语法:表达式必须为Boolean类型 2.if(表达式){表达式结果为true,执行这里的代码块} else {表达式为false 执行这里的代码块} ,其他if else if else ; if ,if else 嵌套的代码执行语法都类似 3.特点:if else if 结构中只会执行一个else if 里面的代码块,一旦执行了一个,后面的代码块就不执行了; if...else if 与单if结构的区别,单if每个都会判断,if..else if 结构只能一个

  1. switch 分支语句

switch (变量) {
    case 值1 :
        //如果变量是值1,执行这里的代码块
        break;
    case 值2:
        break;
        .
        .
        .
    default:
        //变量值不满足以上任何一个情况,执行这里的代码块
        break;
}
 

特点:

  1. 变量接收类型,需要int、string,chars、hort、byte会发生自动类型转换为int

  2. break 是用来打断当前case结构,如果不加会一直穿透下去,知道遇到break;

  3. 多个case可以合并,多个case执行的结构都相同可以合并 4.default 是上面的case都不满足的情况下,执行default里面的代码

  1. for循环语句:封装重复的代码块,少量代码达到重复执行的效果,提高开发效率

//for循环中的结构
int i=0; 初始值
i<100 判断条件
i++ 计数器
for(int i=0;i<100;i++) {
    //循环体
}
  1. while ,do...while

1.while 先判断再执行 2.do...while 先执行再判断,至少执行一次,while后面要由 ;

  1. 转向语句

return : 两个作用,退出当前循环;返回值; break; 停止循环 continue;停止当前循环,continue之后的代码都不执行,重新开始下一个循环

  1. 三元(目)运算符(补充)

语法:表达式1?表达式2:表达式3 原理:表达式1结果必须是Boolean类型true/false 表达式1 为true 返回表示是2的结果 表达式1 为false 返回表示是3的结果 表达式2和表达式3的数据类型必须是一致,可以为任意数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值