一、预备知识

  1. 二进制
    二进制数据就是0和1两个数码来表示的数,它的基数为2,进位规则为“逢二进一”,二进制对应两种状态,广泛应用与电子科学。

  2. 十进制与二进制的转换

    在线进制转换工具:https://tool.lu/hexconvert/
    2.1. 十进制转二进制:除2取余,逆序排序
    2.2. 二进制转十进制:权相加法

  3. 注释:注释语句不会被执行,不会出现在class文件里面
    3.1单行注释:// 后面的全是注释部分
    3.2多行注释:/* / 注意多行注释不可嵌套
    3.3文本注释:/
    * */

  4. 标识符
    用来给变量,类,方法以及包进行命名的。
    4.1标识符必须是以字母,下划线,美元符号$开头
    4.2 标识符其他部分可以是字母,下划线,美元符和数字的任意组合
    4.3java标识符大小写敏感,且长度无限制
    4.4 标识符不可以是java的关键字

    标识符的使用规则:
    表示类名的标识符:每个单词的首字母大写,如Man
    表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,称之为“驼峰原则”

二、变量(类似于停车场的车位

1.变量的本质
可操作的存储空间,空间确定,存放的东西不确定
2.变量的分类和作用域
分为:局部变量,成员变量,静态变量

3.常量(Constants)
常量通常指的是不变的固定的量,用final 表示。常量只能初始化一次

public class testConstants{public static void main(String[] args){PI=3.15;//编译错误,不能再次被赋值!}
}

为了更好的区分和表述,一般将1.2.‘a’等称为字符常量,用final修饰的称为符号常量。

三、基本数据类型

java是一种强类型语言。每个变量都必须声明数据类型,分为基本数据类型和引言数据类型。
java定义了3种基本数据类型

  • 数值型:
    整数类型:byte(1) short(2) int(4) long(8)
    浮点类型: float(4) double(8)
  • 字符型:char
  • 布尔型:boolean

java定义了三种引用数据类型(4个字节)

  • 类:class
  • 接口:interface
  • 数组

1、整型
java语言中整型常量的四种表示形式

  • 十进制整数:
  • 八进制整数:要求以0开头,如015
  • 十六进制整数:要求以0x或0X开头,如0x15
  • 二进制数:要求以0b或0B开头,如0b011100011
    注意:java语言默认是int ,要定义long的时候要加L
long a=5555;//编译成功,在int范围类(21亿)
long a=5555555555;//编译错误,超出了int能够表示的范围
long a=5555555555L;//编译成功

2.浮点数
java浮点类型常量有两种表示方法

  • 十进制数形式:
  • 科学技术法:如3.14e0

float类型的数值有一个后缀F或者f,没有此后缀的默认是double类型,也可以直接加D或者d,用来表明为double类型。

float d=1.65;//编译错误,1.65是double类型的浮点常量,不能直接赋值给float
float d=1.65f;//编译成功

3.字符型
字符型占两个字节,‘a’和“a”是不相同的,“a”表示含有一个字符的字符串。char类型用来表示unicode编码表中的字符。用‘\u…’表示。

char c=‘a’;
char d='中';
char e=‘中国’;//编译错误,‘中国’属于字符串,不可以用char定义,可以用String定义
char a=‘\n’//表示换行
System.out.println("a\nb\nc\n")//表示输出a,b,c后各自换行

4.Boolean型
有两个值:true和false
定义:boolean b=true;Boolean c=false;

四、运算符

  1. 算数运算符
    属于二元运算符,需要两个操作数才能运算,基本的加减乘除。
    自增自减只需要一个操作数。
    整数运算
    若两个操作数有一个为long,则结果也为long
    若没有long时,结果为int,即使操作数权威short,byte,结果也是int
    浮点运算
    两个操作数有一个为doule,则结果是double
    如果两个操作数都是float,结果才是float
    取模运算
    其操作数可以为浮点数,一般使用整数,结果是“余数”,“余数”符号和左边操作数相同,如7%3=1,-7%3=-1,7%-3=1
int a=3;
int b=a++;//执行完后,b=3,先赋值,后自增b=++a;//执行胡b=4,先自增,再赋值
  1. 赋值及其扩展赋值运算符
int a=6;//把6赋值给a
int b=7;a+=b ;//等价与a=a+b;a-=b ;//等价与a=a-b;a*=b ;//等价与a=a*b;a/=b ;//等价与a=a/b;
  1. 关系运算符

如:

int a=3;
int b=4;
Boolean c=a>b;
System.out.println(c);//打印false
  1. 逻辑运算符

逻辑运算符的操作数和运算结果都是Boolean值

Boolean a=true;
Boolean b=false;
System.out.println(a&b);//与,有一个为false,结果为false
System.out.println(a|b);//或,有一个true,结果为true。
System.out.println(!b);//非,结果为true
System.out.println(a^b);//异或,相同false,不同为true。结果为true
  1. 位运算符

    按位与:有0则0,全1为1;
    按位或:有1则1,全0则0;
    按位异或:相同为false,不同为true,
int a=7;
int b=8;
System.out.println(a&b);//与,有0则0,结果为0
System.out.println(a|b);//或,有1则1,结果为15
System.out.println(~b);//非,结果为-9
System.out.println(a^b)//按位异或,相同为false ,结果为15
//移位
int c=5<<2;
System.out.println(c);//相当于5*2*2,结果为20;
System.out.println(40>>3);//相当于40/2/2/2,结果为8;
  1. 字符串连接符
    “+”运算符两侧的操作数只要有一个是字符串类型,系统会自动将另一个操作数转换为字符串然后再进行连接。
int a=12;
System.out.println("a="+a);//输出结果为a=12
//条件是string,不能是char,若为char,任然是加号,不是连接符。
char c=‘h’;
char d=‘i’;
System.out.println(c+d);//结果是209
System.out.println(""+c+d);//通过""+把整个运算换成字符串运算。
  1. 条件运算符
    语法格式:x?y:z
    若x的值为true,则结果为y,若x为false,则结果为z;
  2. 运算符优先级

    注意:
    逻辑非>逻辑与>逻辑或。如a||b&&c的运算结果为:a||(b&&c)
    遇到复杂的运算可以用小括号来简便。

五、数据类型的转换

  1. 自动类型转换
    容量小的数据可以转换为容量大的数据

    实线表示无损数据丢失的自动类型转换,虚线表示转换时有可能会有精度 的损失。
    特例:整型常量是int类型,但是可以自动转换为byte,short,char,只要不超过其表示范围
int a=23;
long b=a;//int可以转换为long
int c=b;//编译错误,long不可以转换为int
//特例:整型常量是int类型,但是可以自动转换为byte,short,char,只要不超过其表示范围。
short b=12;//合法
short b=123456;//非法,超出了short的表示范围
  1. 强制类型转换
    有可能出现损失的情况,用()里面的类型表示想要转换的目标类型。
double x=3.14;
int nx=(int)x;//强制转换为int ,丢掉小数部分,不会四舍五入,值为3;
  1. 基本类型转换时常见的错误和问题
    操作比较大的数时,要留意是否有溢出,尤其是整数操作时。
int money=1000000000;//10亿
int year=10;
int total=money*year;
System.out.println("total="+total);//返回的total值为负数,int范围是正负21亿,超过了这个范围,因此结果会转为int值,再转为long值,发生数据丢失
//怎么处理
long total=money*(long)year;//第一种,强制转换;
long total=1L*money*year;//1L为long类型,即把整个表达式转换为long类型;
  1. 获取键盘输入
import java.util.Scanner;
public class main{public static void main(String[] args){Scanner a=new Scanner(System.in);int b=a.nextInt();//把键盘输入的数赋值给bSystem.out.println(b);}
}

【二】变量和数据类型和运算符【java】相关推荐

  1. java基础学习 --- 第二节 变量、数据类型和运算符

    java基础学习 - 第二节 变量.数据类型和运算符 一.变量 1.变量就是会发生改变的数据,程序运行时,这些数据以变量的形式被保存到计算机的内存中.如图 2.使用变量的步骤:     声明变量 - ...

  2. Scala 系列(二)—— 基本数据类型和运算符

    一.数据类型 1.1 类型支持 Scala 拥有下表所示的数据类型,其中 Byte.Short.Int.Long 和 Char 类型统称为整数类型,整数类型加上 Float 和 Double 统称为数 ...

  3. Java中的变量、数据类型和运算符

    1. java语言是一种强类型的语言,对各种数据类型都有明确的区分,而计算机使用内存来记忆大量运算时需要使用的数据,而当声明一个变量时,即在内存中划分一块空间存储数据,而变量类型决定划分内存空间的大小 ...

  4. JAVA基础——第二章,变量,数据类型和运算符

    一,变量声明及使用 申明变量再赋值 int money; //声明变量 monry = 100; //赋值 声明变量并赋值 int money = 100; //声明变量并赋值 二,JAVA常用数据类 ...

  5. 第二章 变量、数据类型和运算符

    一.变量: 1.根据数据类型在内存中分配一个合适的空间并给他命名,即"变量名" 2.将数据存储到这个空间中, 3.从空间中取出数据,可以使用变量名来获得. 二.java中的数据类型 ...

  6. 《Java疯狂讲义》第3章(数据类型和运算符):博主李俊德的阅读笔记与知识拓展

    一.问题背景 博主在准备应聘的笔试.面试时,再次采用了多年以来的Java工具书<Java疯狂讲义>,并决定在每章详细复习后都要在博客中写下详细的阅读笔记. 二.阅读笔记与知识拓展--< ...

  7. 【JavaSE】02-变量、数据类型和运算符

    二. 变量.数据类型和运算符 2.1 变量 2.1.1 变量的声明 type varName [=value][,varName[=value]...]; //[ ]中的内容为可选项,即可有可无 数据 ...

  8. JAVA学习脚印2: 数据类型和运算符

    JAVA学习脚印2: 数据类型和运算符 本节将记录java中的数据类型和运算符. 1. java中的数据类型 java中变量的数据类型有两种:基本类型(primitive)和引用(reference) ...

  9. java异或运算结果数据类型_java中的数据类型和运算符的总结归类。

    首先学习java肯定先要了解java的发展史,以及java的特点,常见的dos命令,jdk的安装,如何开发java程序等等一下概念行的东西,这里面我都不一一说了. 今天这一章主要想总结一下java中的 ...

  10. double类型怎么取余_数据类型和运算符

    数据类型和运算符 1.进制 1.1文件存储单位 ​ 任何数据在计算机中都是以二进制的形式存在的,二进制早期由电信号开关演变而来 . ​ 一个电信号或者一个二进制位统称为Bit位,8个Bit位为一组组成 ...

最新文章

  1. python自动补全库_叼炸天的库! 自动补全 Python 代码,能节省 60% 敲码时间
  2. linux 文件 跳板机_shell实现跳板机
  3. linux查看机器品牌信息,dmidecode查看linux硬件信息
  4. HarmonyOS快速开发入门
  5. ubuntu18.04(bionic) 配置阿里数据源
  6. python指定位置写入文件_Python从文件中读取指定的行以及在文件指定位置写入
  7. c#下不同命名空间的引用(一个project使用另外一个project的名称空间)
  8. 提示未检测到 oracle,Oracle RAC [INS-40406] 未检测到现有的 Oracle Grid Infrastructure 软件...
  9. Linux下MySQL表名区分大小写
  10. 哎呀!可能有弹出式窗口拦截器生成Gmail无法打开该网页。如果您使用弹出式窗口拦截器,请将其关闭以便打开窗口。...
  11. Qt 萤石云 /萤石云官方Demo二次开发 Qt 5.12.3 / H5/萤石云官方Demo
  12. 《2020年中国互联网网络安全报告》:90%的小程序存在安全隐患
  13. 新版标准日本语中级_第三十二课
  14. 理解快速排序 | 打通算法学习的任督二脉
  15. Android利用TranslateAnimation 动画实现上下平移横线(模拟人脸识别扫描,二维码识别扫描)
  16. Mac报错:TSM AdjustCapsLockLEDForKeyTransitionHandling_ISSetPhysicalKeyboardCapsLockLED Inhibit
  17. oracle函数之NULLIF
  18. Tkinter Cursors
  19. Android获取百度音乐的音乐下载地址和歌词下载连接
  20. 爽啊!写了一个网页:首字母索引的单词(十分垃圾,简单的不得了)

热门文章

  1. 行测图形题(从视觉图形类别来总结对应的规则方法)
  2. 新增利息宝-京东淘宝唯品会自动抢单系统源码搭建过程
  3. ADB 常用命令及详解
  4. 解惑:教你在 Arch Linux 终端上更改 WiFi 密码
  5. android studio template模块开发
  6. 数据库select查询
  7. dmp恢复oracle数据库,dmp文件恢复oracle数据库
  8. 波哥学JAVA基础教程 5.1.2封装
  9. 我是如何从程序员到年入80万的自由职业者的
  10. 每周推荐短视频:打破垄断,软件开源实际上是为了打破商业软件技术产权的垄断