类型转换

由于java是强类型语言,所以要进行有些运算的时候需要用到类型转换。

低 ------------------------------------------------------------------------高

byte,short,char->int->long->float->double
public class HelloWorld {public static void main(String[] args) {int i = 128;byte b =(byte)i;//强制将i的类型转换为byte,这里存在内存溢出的问题,Byte最大值是127,最小值-128,所以这里的值会出问题//强制类型转换   (类型)变量名    高-->低//自动转换   低-->高/**注意点:* 1.不能对布尔值进行转换* 2.不能把对象类型转换为不相干的类型* 3.在把高容量转换到低容量的时候,强制转换* 4.转换的时候可能存在内存溢出,或者精度问题!*///System.out.println(i);//System.out.println(b);/*输出结果:128-128*/System.out.println((int)21.3);//byte输出为:21   高转低,强制转换,精度丢失System.out.println((int)-21.89f);//float输出为:-21}
}
public class HelloWorld {public static void main(String[] args) {//操作比较大的数的时候,注意溢出问题//JDK7新特性,数字之间可以用下划线分割int noney = 10_0000_0000;System.out.println(noney);//输出:1000000000int years = 20;int total = noney*years;System.out.println(total);//输出值:-1474836480  计算的时候溢出了long total1 = noney*years;System.out.println(total1);//输出值:-1474836480  默认是int,转换之前已经存在问题了?long total2 = noney*((long)years);//先把一个数转换为longSystem.out.println(total2);//输出值:20000000000  }
}

变量

变量是什么:就是可以变化的量,每个变量都必须声明其类型

java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

type varName  [=value] [{,varName[=value]}];
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量
  • 注意事项:

    ​ 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

    ​ 变量名必须是合法的标识符。

    ​ 变量声明是一条完整的语句,因此每个声明都必须以分号结束。

实例变量

public class HelloWorld {//属性:变量//实例变量:从属于对象;如果不自行初始化,这个类型的默认值为  0  0.0//布尔值默认   false//除了基本类型,其余的默认值都是nullString name;int age;public static void main(String[] args) {//main方法//局部变量:必须声明和初始化值int i = 10;System.out.println(i);//变量类型  变量名字 = new HelloWorld();这句话是说把自己的数据拿到了HelloWorld helloWorld = new HelloWorld();//先写入:new HelloWorld();按住alt+回车,显示:HelloWorld helloWorld = new HelloWorld();//可以拿到数据System.out.println(helloWorld.age);//先写入:helloWorld.age.sout,按住回车键,显示:System.out.println(helloWorld.age);输出值:0System.out.println(helloWorld.name);//输出值:null}//其他方法public void add(){}
}

类变量

public class HelloWorld {//类变量:staticstatic double salary = 2500;public static void main(String[] args) {//main方法//类变量:staticSystem.out.println(salary);//输出值:2500.0}
}

常量

  • 初始化后不会再改变的值,不会变动的值
  • 所谓常量可以理解成一种特殊的变量,它的值被设定以后,在程序运行中不允许被改变
final 常量名=值;
final double PI=3.14;
  • 常量名一般使用大写字符
public class HelloWorld {//修饰符不存在先后顺序,静态常量,final常量static final double PI = 2500;final static double P = 2500;public static void main(String[] args) {//main方法//类变量:staticSystem.out.println(PI);//输出值:2500.0System.out.println(P);//输出值:2500.0}
}

变量命名规

类成员变量:首字母小写和驼峰原则:monthSalary

局部变量:首字母小写和驼峰原则;

常量:大写字母和下划线:MAX_VALUE

类名:首字母大写和驼峰原则:Man,GoodMan

方法名:首字母小写和驼峰原则:run(),runRun()

运算符

package oper;public class HelloWorld {public static void main(String[] args) {//二元运算符//ctrl+D,复制当前行到下一行int a = 10;int b = 20;int c = 25;int d = 25;System.out.println(a+b);System.out.println(a-b);System.out.println(a*b);System.out.println(a/b);/*输出值:30  -10  200  0最后一个输出值为0是有问题的,10/20=0.5,因为a,b都为int型,所以取值为0所以我们需要将b转换为double型*/System.out.println(a/(double)b);//输出值为:0.5}
}

实例:

package oper;public class HelloWorld {public static void main(String[] args) {long a = 1211212L;int b = 123;short c =10;byte d = 8;System.out.println(a + b + c + d);//longSystem.out.println(b + c + d);//intSystem.out.println(c + d);//int/*** 输出值:1211353  141  18* 说明当计算时,其中有一个为long类型,输出为long类型,当其是double类型,输出也是double类型,int不能转换成String类型* */}
}
====================================================
package oper;public class HelloWorld {public static void main(String[] args) {//关系运算符返回的结果:正确,错误   布尔值int a = 10;int b = 20;System.out.println(a > b);System.out.println(a < b);System.out.println(a == b);System.out.println(a != b);/**输出值:false true false true* */int c = 21;System.out.println(c % a);//取余  c / a  21/10=2...1,输出值为:1,也叫做模运算。}
}

自增自减运算符(++、–)

package oper;public class HelloWorld {public static void main(String[] args) {//++  --  自增自减  一元运算符int a = 3;int b = a++;//a++ a = a + 1,执行完这行代码后,先给b赋值,再自增System.out.println(a);//4int c = ++a;//++a a = a + 1,执行完这行代码之前,先自增,再给c赋值System.out.println(a);//5System.out.println(b);//3System.out.println(c);//5//幂运算 2^3 2*2*2=8  很多运算,我们会使用一些工具类来操作double pow = Math.pow(2, 3);//先写入:Math.pow(2, 3);按住alt+回车键,显示:double pow = Math.pow(2, 3);System.out.println(pow);//输出值:8.0}
}

逻辑运算符

package oper;public class HelloWorld {public static void main(String[] args) {//与(and) 或(or) 非(取反)boolean a =true;boolean b =false;System.out.println("a && b:"+(a&&b));//a && b:false,与,两个变量为真,结果为真System.out.println("a || b:"+(a||b));//a || b:true,或,两个变量有一个为真,结果为trueSystem.out.println("! (a && b):"+!(a&&b));//! (a && b):true,非,如果是真则变为假,如果是假,则变为真//短路运算int c = 5;boolean cc = (c<4)&&(c++<4);System.out.println(cc);//false,c<4是错的,所以就不会执行后面的操作,造成短路,c++<4不会被使用,System.out.println(c);//5}
}

位运算符

/*
A = 0011 1100
B = 0000 1101A&B = 0000 1100  & 如果相对应位都为1,则结果为1,否则为0
A|B = 0011 1101  | 如果对应位都为0,则结果为0,否则为1
A^B = 0011 0001  ^ 如果对应位是相同的,则结果为0,否则为1取反
~B = 1111 0010   ~ 取反
面试提问:2*8怎么运算最快?
2*8 = 16 =》2*2*2*2
效率极高
<< 左移  相当于乘以2>>右移  相当于除以2  0000 0000  00000 0001  10000 0010  20000 0011  30000 0100  40000 1000  80001 0000  16*/
System.out.println(2<<3);//输出值:16

条件运算符

package oper;public class HelloWorld {public static void main(String[] args) {int a = 10;int b = 20;a+=b;//a=a+ba-=b;//a=a-bSystem.out.println(a);//字符串连接符  +  ,StringSystem.out.println(""+a+b);//输出值:1020System.out.println(a+b+"");//输出值:30}
}

扩展赋值运算符

package oper;public class HelloWorld {public static void main(String[] args) {//x ? y : z    如果x==true,则结果为y,否则结果为zint a = 80;String type = a < 60 ?"不及格":"及格";//必须掌握System.out.println(type);//输出值:及格}
}

优先级

java基础数据类型和运算符相关推荐

  1. 面试题-java基本数据类型和运算符

    java八大基本数据类型 https://blog.csdn.net/tantion/article/details/82626006 注: https://blog.csdn.net/qq_2143 ...

  2. 【Java】数据类型和运算符

    目录 一.八大基本数据类型 1.数值型(有符号) 2.字符型,默认值为"\u0000" 3.布尔型,默认值为false 二.引用数据类型: 三.计算机存储数据的基本单位 1.两种基 ...

  3. 对Java的数据类型和运算符的理解

    我知道千里之行始于足下,包含着对编程的兴趣,希望能够在这个平台上记录下我学习过程中的点点滴滴! Java的基本构造 标识符和关键字 标识符规则 标识符就是用于给程序中变量,类.方法命名的符号 1.标识 ...

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

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

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

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

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

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

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

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

  8. iOS开发基础-C语言数据类型和运算符

    第2章 数据类型和运算符 2.1 注释 程序注释是源代码的一个重要部分,对于一份规范的程序源代码而言,注释应该占到源代码的1/3以上: 单行注释 //: 多行注释 /*注释开始和*/注释结束,需要指出 ...

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

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

最新文章

  1. 我们用Python分析了B站4万条数据评论,揭秘本山大叔《念诗之王》大热原因!...
  2. lr mysql 增删改查_Python对MySQL进行增删查改
  3. JSP简单练习-JSP指令
  4. java格式错误什么意思_java.io.IOException可能的原因是什么:“文件名,目录名或卷标语法不正确”...
  5. POJ 1833 排列【STL/next_permutation】
  6. 使用jclouds库在Amazon S3上上传
  7. Spring Cloud Alibaba发布第二个版本,Spring 发来贺电 1
  8. 图片背景虚化_如何用PPT制作图片虚化背景?
  9. mysql数据库事务的概念_如何理解数据库事务中的一致性的概念?
  10. postfix 过滤中文内容
  11. 利用CEF山寨一个翻译器
  12. 【Codeforces 1421 D】Hexagons,贪心,模拟
  13. JQueryDOM之查找节点
  14. [BZOJ1528][POI2005]sam-Toy Cars(贪心)
  15. 2021 CCF网络推荐会议时间列表
  16. 平面上两直线的夹角求法解析
  17. BLDC无刷电机驱动板,foc驱动板,有霍尔接口,反电动势接口,三相电流采集接口
  18. 如何在 Android 上恢复删除屏幕截图/照片的四种方式
  19. (四)拒绝服务–TearDrop 攻击
  20. Java的输入/输出

热门文章

  1. linux挂载硬盘下载电影,Windows上通过迅雷基于Samba往Pi3B上mount的移动硬盘下载电影...
  2. JEPF软件快速开发平台学习心得之请假单功能的完成(一)
  3. c++中sqrt函数的使用
  4. emplace_back深度剖析
  5. Linux系统破解root密码
  6. matlab print 保留颜色,科学网—解决matlab saveas printf保存图片时 colorbar中的字体颜色发生改变 - 肖鑫的博文...
  7. java中接口的优点和缺点
  8. 自用 学习BCR 免疫组化
  9. SeekBar实现实现进度提示随thum移动,自定义View
  10. [PTA]习题11-1 输出月份英文名