Java规范-变量-基本数据类型-原反补码

本文介绍了Java编程的基础知识,包括命令提示符的基本操作,如进入、返回目录,查看内容,清屏和退出。讲解了Java程序的开发步骤,从编写、编译到运行字节码文件。详细阐述了Java代码结构,类、主方法,以及标识符的命名规则和大小写敏感性。此外,还讨论了变量、数据类型及其作用域,以及进制表示方式。最后提到了原码、反码和补码的概念。
摘要由CSDN通过智能技术生成

命令提示符(cmd)

进入文件夹:cd 文件夹名

返回上一级:cd…

直接返回根目录:cd \

查看当前内容:dir

清屏:cls

退出:exit

//是单行注释

多行注释以/*开头,\

以*/结尾,不能嵌套



Java程序的开发步骤:

  1. 编写代码:要求:保存为.java的源代码文件
  2. 编译代码:目的:把.java源文件编译为.class的字节码文件(英文JVM只认识字节码)
  3. 编译工具:javac.exe(编译成class文件)
    • 例如:javac HelloWorld.java
  4. 运行字节码文件:运行工具:java.exe
    • 格式:java 字节码文件名或说是类名
    • 例如:java HelloWorld
  • java的代码结构:

    {
        方法{
            语句;
        }
    }
    
  • class:类,声明类,定义类

  • Java程序的主方法,是Java程序运行的入口

    class HelloWorld{
        public static void main(String[] args){
            System.out.println("Hello Java")
        }
    }
    

大小写问题

源文件名.java的大小写问题

  • 源文件名不区分大小写,但是没用,我们必须注意大小写

字节码文件名(类名)

  • 严格区分大小写的

代码中大小写问题

  • 严格区分大小写

如果某个类是public,那么这个类必须与源文件名一致。

一个源文件只能有一个public类

一个源文件可以编写多个类吗?如果可以,编译后会怎么样?

如果一个源文件有多个类,那么编译后会产生多个.class文件(字节码文件)(而且字节码文件名就是类名)执行的时候就是 java 类名

平时开发中,一个.java文件,只写一个类,除非有内部类。

而且源文件名和类名一致(因为后期好维护)

标识符

在java当中对类名,变量名,方法名等这些要素进行命名的字符序列被称之为标识符。(凡是程序员自己命名的地方都叫标识符)

标识符的命名规则

  • java的表示符必须用26个英文字符的大小写,数字0-9,美元$,下划线_
  • java的表示符不能使用关键字(包含保留字)和特殊值
  • 不能使用空格,数字不能开头
  • java的标识符严格区分大小写

标识符的命名规范

  • 见名知意(有描述性)
  • 类名,接口名等:要切每一个单词的首字母大写,形式XxxYyyZzz
  • 变量名,方法名:等要求从第二个单词开始,首字母大写,其余字母小写,形式:xxxYyyZzz
  • 包名等:要求所有单词都小写,每个单词之间使用.分割,形式:xxx.yyy.zzz
  • 常量名:要求所有单词都大写,每个单词之间用_分割,形式:XXX_YYY_ZZZ

变量

变量第二次赋值不用再加数据类型(不用再声明了)

作用域:从变量声明处开始,到他所属{}后结果

说白了,这里和python不一样,和易语言一样,作用域就是局部变量的局部,出了这个局部就找不到了

刚开始常用的数据类型:

  • int(整数)
  • double(小数)
  • char(单个字符)
  • String(字符串)
String s = "ziqing";	//字符串String里的S必须大写,字符串是双引号
char a = 'z';			//单个字符,字符是单引号
double weight = 55.8;	//小数,不用加符号
boolean marry = false;	//布尔,不用加符号

基本数据类型

在这里插入图片描述


超出数据范围报错

说明:对于long类型的常量,后边需要加大写L(建议用大写)或小写l

long tel = 15192780339L


float是小数点后6~7位

double是小数点后15~16位

说明:对于float类型的常量,后边需要加大写F(建议用大写)或小写f

float num = 1.2F


char:单字符类型,2个字节,可以表示汉字

在java中是使用Unicode编码来表示。(兼容ASCII码)

引用数据类型
类 (class)
接口 (interface)
数组 (array)

在java中是使用Unicode编码来表示。(兼容ASCII码)

例如:

数字0:Unicode编码值是48

数字1:Unicode编码值是49(以此类推)

字母A:Unicode编码值是65

字母B:Unicode编码值是66

字母a:Unicode编码值是97

字母b:Unicode编码值是98


自动类型提升运算

核心思路就是小数据类型转到大数据类型

byte、char、short --> int --> long --> float --> double

当byte、char、short三种数据类型的变量运算时,结果为int类型

byte num1 = 18;
int num2 = 2530;
int val = num1 + num2;  // num2+num1 Java编译器会吧这里数据类型处理为一个int类型
System.out.println(val);
char c1 = 'a';  // 对应97
int num = 10;
int res = c1 + num;
System.out.println(res);  //结果为107,int类型
long l = 123213;
System.out.println(l);
// 这个long类型,后边没加L,也不会报错,会被当做int型
// 相当于把和这个int赋给这个long,自动类型提升了
强制类型转换

核心思路就是较大数据类型转换为小数据类型

double num = 12.9;
int num1 = (int)num;  //强制转换  ,属于截断操作,不会四舍五入 
System.out.println(num1);  //结果为12

int num = 128;
byte num2 = (byte)num;
System.out.println(num2);  // 结果为-128  精度丢失

// 强制类型转换,有利有弊:

​	利:

​			可以满足数据类型一致化

​	弊:

​			基本数据类型强制转换过程中,会导致数据精度丢失,而这样的丢失是不可逆转的

关于进制

  • 所有数字在计算机底层都以二进制形式存在。

  • 对于整数,有四种表示方式:

    • 二进制:0,1,满2进1 (以0b或0B开头
    • 十进制:0-9,满10进1
    • 八进制:0-7,满8进1 (以0开头表示)
    • 十六进制:0-9及A-F,满16进1 (以0x或0X开头表示)此处A-F不区分大小写

原码-反码-补码

在这里插入图片描述

规定:

  • 正数的原码,反码,补码三码合一
  • 负数的原码,反码,补码是不同的
  • 因为计算机中把最高为(最左边的二进制位)定为符号位,0表示正数,1变数负数。

25:

  • 原码:0001 1001
  • 反码:0001 1001
  • 补码:0001 1001

-25:

  • 原码:1001 1001
  • 反码:1110 0110 符号位不变,其余为取反
  • 补码:1110 0111 在反码上加1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值