Java学习——1Java基础

一、Java运行环境

进制转换

  • 十进制:1+1=2

  • 二进制:1+1=10

  • 16进制:0-9a-f(0-15)

  • 十进制转换为二进制:
    在这里插入图片描述

  • 二进制转换为十进制: 1 ∗ 2 3 + 1 ∗ 2 2 + 0 ∗ 2 1 + 0 ∗ 2 0 = 12 1*2^{3} +1*2^{2}+0*2^{1}+0*2^{0} = 12 123+122+021+020=12

存储单元

  1. 字节,(byte)8个位为一字节,是最小的存储单元

  2. ,(bit)一个1或0是一位

  3. 单位转换,1024是进制转换的最小单位, 1byte = 8bit,1KB=1024B,1MB = 1024KB,1GB = 1024MB,1TB = 1024GB

跨平台

java虚拟机JVM,java程序运行在JVM上,JVM运行在操作系统上
JVM不具备跨平台,只是在不同操作系统上有不同版本的JVM

  1. JRE:Java程序运行环境,包含JVM和运行需要的核心类库
  2. JDK:开发工具,包含JRE和编译器

二、写一个helloword!

public class HelloWord {
    public void main() {
        System.out.println("hello,word!");
    }
}

注释

//第一种注释,只能注释单行
/*
第二种注释,可以单行也可以多行
 */
/**
 *第三种,说明注释,也是文档注释
 *
 */

说明注释:允许你在程序中嵌入关于程序的信息
更多文档注释:文档注释

/**
 * @author shijinge
 * @date 2021/3/18 7:18 下午
 * @version 0.0.1
 * @return String
 **/

类是Java中所有源代码的基本组织单位,main是程序执行的起点

关键字和标识符

关键字

就像邮箱地址@后面代表域名,前面就不能出现@
有特殊含义的,被保留的,不能随意使用的字符。
关键字的特点:

  • 完全小写
  • 在idea中有特殊颜色

标识符

自己定义的内容,比如类名,方法名,变量名
命名规则:(必须遵守)

  • 可以包含大小写字母,数字,下划线和$
  • 不能以数字开头
  • 不能是关键字

编码规范:(好的编码习惯)

  • 类名:首字母大写,后面的每个单词的首字母大写
  • 变量名:首字母小写,后面的每个单词的首字母大写
  • 方法名:同变量名

常量

固定不变的量

  • 字符串:用双引号引起来的
  • 整数:直接写数字,没有小数点 -12
  • 浮点数:直接写数字,有小数点,0.0、-1.2
  • 字符:单引号引起来的的单个字符,‘s’、‘都’、‘9’、‘S’,两个单引号中间有且仅有一个字符
  • 布尔:true,false
  • 空:null代表没数据,不能直接打印输出

基本数据类型

  • 整数型: byte、short、int、long
  • 浮点型:float、double
  • 字符型:char
  • 布尔型:boolean
    Java默认整数为int,浮点为double
    取值范围

引用数据类型

字符串、数组、类、接口、lambda

变量

内容可以发生变化

		int a;//创建了一个int类型变量
        a = 1;//给变量赋值,不能超过int的取值范围
        float b = 2.1f;//结尾加f
        long c = 2000L;//结尾加L
        char d = 'q';//字符类型
        boolean v1 = true;//创建的时候,就放入指定值
        boolean v2 = v1;//将v1的内容给v2存储
        System.out.println(a);//打印变量内容1
        System.out.println(b);//2.1
        System.out.println(v2);//true
        int x=1,y=2,z=3 ;//同时创建多个变量并赋值
  • 变量名不可以重复
  • float和long类型要有字母后缀F、L
  • byte和short类型,赋值不能超过类型的取值范围
  • 没有赋值的变量,不能直接使用
  • 变量使用不能超过作用域(从变量定义的一行开始到直接所属括号结束)范围,
  • 可以用一个语句创建多个变量

数据类型转换

数据类型不一样时,会发生数据类型转换
自动类型转换

  • 自动完成
  • 数据范围从小到大

强制类型转换

  • 格式:范围小的类型 范围小的变量名=(范围小的类型)原本范围大的数据
  • 强制类型转换,可能发生精度损失、数据溢出
  • byte/char/short可以进行数学运算,首先提升成为int类型,在计算
  • 布尔类型不能进行类型转换
//int-long,数据范围从小到大,自动转换为long类型
        long h =100;//h为long类型,右边的值为int
        double g = 2.43f;//自动转换
        float f= 21L;//自动转换
        //强制转换
        int num = (int) 19L;//long-int 不能自动转换
        //超过int的范围时,强制转换时数据溢出
        int num2 =(int) 2200000000L;
        System.out.println(num2);//-2094967296
        //float-int 强制转换时,会舍弃所有小数位导致精度损失
        int num3 =(int) 2.3F;
        char var1 = 'A';
        System.out.println(var1+1);//66,A为65
        //计算机会用一个数字表示字符A,65(ASCII编码表)
        byte b1 = 40;
        byte b2 =50;
        int b3 = b1+b2;//运算时为int类型,结果也是int类型
        System.out.println(b3);
        short num4 = 60;
        short ans1 = (short) (b1+num4);
        System.out.println(ans1);

数据溢出:数据所占内存超出预期的存储限制
精度损失:十进制的小数无法精确的转换为二进制

编码

ASCII编码表:常用的[0-9]:[48-57]、[a-z]:[97-122]、[A-Z]:[65-90]
Unicode码表:万国码,包含所有字符和数字的对应关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值