DAY03 Java基础, 进制

本文档详细介绍了Java编程的基础知识,包括项目创建、模块管理、类与方法的定义,以及变量、数据类型、运算符和逻辑控制的使用。此外,还涵盖了字符串操作、类型转换、常量、包机制、进制转换以及变量的作用域和命名规范。通过对这些基础知识的讲解,帮助初学者理解Java编程的核心概念和实战技巧。
摘要由CSDN通过智能技术生成
  • IDEA创建新的项目Create New Project ——选择空项目empty project——next——new name——加载——左上角file选择new选择module——next——新名字——src右键new选择java class——创建新名字(HelloWorld)
  • project structure——project里版本选择当前下载版本(Java 配置环境)*

注释

  • 单行注释 //后加注释
  • 多行注释 /**/中间加注释
  • Java doc文档注释/** */
    在这里插入图片描述

标识

关键字
在这里插入图片描述

  • 所有标识符都是以a-z大小写字母, 美元符号$, 下划线_ 开始的(不可以用#%*…)
  • 不能以关键字取名
  • 大小写分明
  • 不使用中文.拼音

数据类型

  • 强类型语言 慢但更安全
  • 弱类型语言

string:字符串
int数字
分号结尾
在这里插入图片描述
Java是一种强类型语言(要求变量的使用要严格符合规定, 所有变量必须先定义后才能使用*)

类型

  • 基本类型 primitive type
    八大基本数据类型:

    整数类型

    1. byte
    2. int(最常用)
    3. short
    4. long(在数字后加L)

    小数类型

    1. float(小数后加F)
    2. double

    字符类型

    1. char(一个字)

    字符串类型

    string(string不是关键字, 是一个类)

    布尔值

    1. boolean (只有true和false两个值)
      在这里插入图片描述

1byte(B)=8bit
1024B=1KB
1024KB=1MB
1024MB=1G
1024G=1TB

  • 引用类型 reference type
    1. 接口
    2. 数组

预: String代码与boolean拓展

  • String
    输入代码String
    在这里插入图片描述
    计算出来答案如下图
    在这里插入图片描述
  • boolean
    boolean flag = “true”;
    if (flag==true){if flag为真执行的代码}
    if(flag){同上}
    在这里插入图片描述

类型转换

字符串都可以进行加减乘除的运算, 但是都需要转换为同一类型
在这里插入图片描述

  • 强制类型转换 : (类型)变量名;由高到低
    int i = 128;
    byte b = (byte)i;
    此处int i强制转换为byte i, 但是byte最大值为127, 则输出结果为-128(这种情况叫做内存溢出)
    在这里插入图片描述

  • 自动转换 由低到高
    int i = 128;
    double b = i;
    由低转换为高则不需要写括号.类型, 此处输出结果为128和128.0

  • 注意事项

    1. 两种转换方式不能对boolean进行转换;
    2. 不能把对象类型(i; b)转换为不相干的类型;
    3. 从高容量到底容量强制转换的过程中, 可能出现精度问题(double——>int),和内容溢出

下图为精度问题, 所以字母本质都是数字, a为97, 前置转换为int后输出为97+1=98; 输出时int强制转换为char, 则输出内容变为a后面的数字b⬇️在这里插入图片描述

int的最大值为20_0000_0000, 在int强制转换为long之前要先把int的对象类型强制转换为long; 否则会先以int计算在转换为long, 输出就会有精度问题⬇️
在这里插入图片描述

  • assic表
    在这里插入图片描述- JDK8在输入较大的数字时, 可用下划线分割, 切下划线不会被识别输出

变量

  1. 每个变量都有类型, 类型可以是基本类型(byte, char, int, long, short, double, float, Boolean), 可以是引用类型(String)
  2. 变量名必须是合法的标识符($, a~z)
  3. 变量声明是完整的语句加分号结尾
  4. 书写格式 数据类型 变量名=值
    可以用逗号隔开来声明多个同类型变量
  • 变量作用域

    1. 类变量: static
    2. 实例变量: String, int
      在类{}内使用, 方法{}外, 从属于对象
    3. 局部变量: 在一个方法{}内使用, 必须声明和初始化值
  • 变量:属性

  1. 如果不自行初始化, 基础类型默认值为0, 0.00 (u0000), boolean的默认值为false (实例变量)
  2. 如果不自行初始化, 除了基础类型, 其他类型(String) 默认值都为null
  3. main方法
    public static void main(String[] args){ 局部变量 }
  4. 其他方法
    public void add(){}
  5. 变量为自己
    例如demo08, 从属于demo08, 得到一个new demo08就可以定义它的值在这里插入图片描述

常量

特殊的变量, 它的值被设定后, 在程序运行过程中不允许被改变final 常量名=值, final为修饰符, 不存在先后顺序.
static final double pi = 3.14;
final static double pi = 3.14;

变量的命名规范

  1. 所有变量, 方法, 类名全都见名知意(英文单词)
  2. 类变量, 方法名和局部变量: 单词驼峰原则, 除了第一个单词外, 后面的单词首字母大写(lastName)
  3. 常量: 大写字母加下划线(MAX_VALUE)
  4. 类名: 首字母大写和驼峰原则(GoodMan)

基本运算符

IDEA新建包在这里插入图片描述

  • operator
    在这里插入图片描述

    1. % 模运算, 取余(加减乘除是一元运算符)
    2. ++,— 自增.自减(一元运算符)
      在这里插入图片描述
      int b = a++; 先赋值b=a, 输出b=3, 然后再加一b=4(先用后自增, 增了);
      int c = ++a; 先自增后加一, 输出为5, 再赋值给a, a=5(先自增后用);

      a就是c运算后赋的值,b++的值为4,但是先赋的值是3(输出就为3了),这时a自增1,变成了4;到c的时候先自增后在加1,最后的结果就是5了,最后又赋值给了a,a最后的结果就是5
    3. 幂运算 二的三次方
      double pow = Math.pow(2,3);
      system.out.println(pow);
      答案是8.0
  • 逻辑运算符

    1. && 与, 两者全为true才能输出true
    2. || 或, 两者其中之一为true则输出true
    3. ! 非, 取反

短路运算
int a=5;
boolean b=(a>7)&&(a++>5);
如果&&前括号里为false的话, 后面括号里的则不会计算

  • 位运算符

    1. << 二进制运算0001变成0010, 1乘2
    2. 相反除以2

  • 扩展赋值运算符

    1. +=
      int a=10;
      int b=20;
      System.out.println(a+=b);
      预算结果为39, a+=b意为a+b; a-=b意为a-b
  • 字符串连接符 “+”
    int a=10;
    int b=20;
    System.out.prinln(“”+a+b); 运算结果为1020
    System.out.println(a+b+“”); 运算结果为30

  • 条件运算符 ?:三元运算符
    X ?Z:Y
    意思是如果X为true, 则结果为Z; 相反为Y

包机制

不同文件夹内分别可以出现同样名字的文件

想使用使用包(class)内的内容则 import. package.file.class
package.file.* 星会导入这个包下所有的类
要避免命名重复

进制

  • 十进制: D

    1. 由0~9十位数字组成, 十进一
    2. 十进制转换为二进制(D——>B), 十进制的数字除以二, 直到不能再除。例如十进制54转换为二进制110110
      在这里插入图片描述
  • 二进制: B

    1. 由0和1两个数字组成, 计算机的运行
    2. (十进制转换为二进制0——0, 1——1, 2——10, 3——11, 4——100, 5——101, 6——110, 7——111, 8——1000, 9——1001, 10——1010)
    3. 二进制转换为十进制(B——>D), 从右向左每个位数上的数字乘2的(从右往左数)第几个数次幂, 所有数的和。例如: 二进制1000为1乘2的三次方+0乘2的二次方+0乘2的一次方+0乘2的零次方。
      在这里插入图片描述- 十六进制: H
    4. 电脑颜色都是由十六进制存储的(#FFFFFF,#ffad2a)
    5. 二进制转换为十六进制:
      0~9,10——A, 11——B, 12——C, 13——D, 14——E, 15——F, 16——10
    6. 二进制转换为十六进制: 1101111B——>H, 从右往左四个数为一个单位计算, 1111为1乘2的0次方+1乘2的1次方+1乘2的2次方+1乘2的3次方=1+2+4+8=15=F; 110看作0110, 为6, 则1101111B——>6FH
    7. 十六进制转换为二进制: A1H——>B, 1为0001; A在十进制中为10, 10除以二为5余0, 5除以二为2余1, 2除以二为1余0, A则为1010。A1H转换为10100001B在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值