一.Java初识

四大特性:跨平台、自动垃圾回收、面向对象、多线程

编译型语言 : 运行效率高,但是跨平台性能差
解释型语言 : 运行效率低,但是跨平台性能好
静态语言 : 创建变量的时候,必须先指定空间,说明类型
动态语言 : 不需要指定类型,在运行的时候,自动指定
强类型语言 : 一旦类型确定,不能更改,除非强制更改
弱类型语言 : 根据当前运行的上下文环境,进行类型的自动转换

二.数据类型

共有两种数据类型

1.基本数据类型

:4个整数型(byte、short、int、long)、2个浮点型(float、double)、1个字符型(char)、1个布尔型(boolean)

1)其中long类型声明需要在后面加上L(大小写均可,大写方便认识),如果不加,默认为int类型

long l = 1234L ;

2)若需要八进制,则需要0开头,如下

int i = 012 ;
System.out.println(i);  //i=10

3)若需要16进制,则需要0x开头,如下

int i = 0x12 ;
System.out.println(i);  //i=18

4)对于float和double,float在声明值时需要加F(大小写均可),double需要加D(大小写均可,但是小数默认类型为double,所以声明double的时候D可以省略掉)有的小数计算机不能存储原值,只能以一个极其相近的值存储。如

double d = 1.1 ;
System.out.println(d); //d=1.100000023841858,如果正常显示的话也是自动舍弃了后面的数

所以小数比较的话有时候会出问题

5)对于char,以英文单引号表示,且只能有一个字符
6)类型转换,上述八种类型除了boolean型(布尔型),其他的均可进行转换,其中精度从低到高为自动转换,精度从高到低需强制转换。精度从低到高为 byte→short→int→long→float→double;char→int→long→float→double;
7)混合运算中,结果的类型是当前运算中最大的类型,比如int和long相加,结果为long;int和double相加结果为double;但是当byte,short,char,int四种类型中任意一种或多种相加,最后结果均为int,比如 byte和byte相加结果为int;byte和char相加结果为int。

2.引用数据类型

:类(class,abstract class)、接口(interface)、数组(array)

三、变量

1.常量

常量在整个生命周期中值不可更改,整数型默认为int,小数默认为double。
字面量

System.out.print(10);

final修饰

final int i = 10 ;

2.变量

可以更改的量,方便操作,而且可以复用

int a = 10 ;
System.out.println(a); //a=10
a++;
System.out.println(a); //a=11

3.静态变量(静态成员)

在类体中使用static声明的变量,和类方法是平级关系,调用时需要以 类名.静态变量名 的方式调用(在当前类中调用当前类的变量时可以省略类名)。整数默认0,小数默认0.0,布尔型默认false,字符型默认\u0000,引用类型默认null

4.成员变量

在类体中没有使用static声明的变量,和方法是平级关系,调用时需要以 对象引用.成员变量 的方式才能调用。整数默认0,小数默认0.0,布尔型默认false,字符型默认\u0000,引用类型默认null

四.运算符

1.优先级

单目>双目>三目

2.++操作

i++:先使用,使用之后再自身+1;
++i:先+1然后再使用
i++需要占两块空间,一个是i空间,一个是临时空间用来保存+1之前的数据
++i就占一块,保存+1之后的数据
但是单独出现的话没有什么区别,因为编译器也会帮忙优化,优化之后会把单独出现的++i转化成i++ (比较美观)

3.关系运算符

>,>=,<,<=,==,!=

4.位运算符

&位与:两边都是真,才为真,如果两边是数值,则为与运算

System.out.println(9&15); //9
System.out.println(4<5 & 5<6); //true

|位或:两边有一个真就是真
!位非:取反,真变假,假变真
^位异或:两边不一样就是true
~按位非:转换成二进制,按位取反
>>:右移,整数补0负数补1(符号位不动)
<<:左移,无论正负都补0(符号位不动)
>>>:右移,无论正负都补0(符号位也移动
&&:短路与,两边都是真才是真,如果有一个为假则后面都不执行
||:短路或,有一个真就是真,如果有真之后则后面的都不执行

Day01 学习Java(四大特性、数据类型、运算符)相关推荐

  1. 用孔子装爹学习java三大特性之多态

    孔子装爹例子学多态 一. 概述 1.1引入 1.2 定义 1.3 前提[重点] 2 例子一 2.1 父类 2.2 子类 2.3 启动类 2.4 打印 二..例子2:孔子装爹(只是个名字) 2.1 孔子 ...

  2. java四大特性_java四大特性详解

    Java的四大基础特性 一.抽象 父类为子类提供一些属性和行为,子类根据业务需求实现具体的行为. 抽象类使用abstract进行修饰,子类要实现所有的父类抽象方法否则子类也是抽象类. 二.封装 把对象 ...

  3. 不知道怎么学习Java,这些方法助你成为Offer收割机!

    最近很多读者在问:Java 怎么学习啊?有没有什么学习路线? 我相信这些读者或多或少都有一些 Java 基础,但由于看不到全貌,学了一段时间很容易迷失.所以我在寻思着能不能写一个学习的地图或者路线,让 ...

  4. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

  5. 【Java设计模式 面向对象设计思想】一 再谈面向对象和封装、抽象、继承、多态四大特性

    回看最初的目标:[Java设计模式 学习目标及大纲]高质量代码的标准及实现路径在这篇Blog里我们明确了什么是高质量的代码:易维护.易读.易扩展.灵活.简洁.可复用.可测试,也知道高质量代码的达成路径 ...

  6. Java学习之java高级特性

    From:https://blog.csdn.net/w252064/article/details/79923999 [Java高级特性详解]:https://blog.csdn.net/qq_37 ...

  7. [Java]学习Java(1)运算符语句类

    [Java]学习Java(1)运算符&语句&类 一.运算符&语句 1.相等运算符"==" (1)基本类型时值相等就为true (2)对象比较时比较其引用地址 ...

  8. Java 面向对象四大特性

    Java 面向对象四大特性 1.抽象  2.封装  3.继承   4.多态 1.抽象.抽象就是将一些事物的共性和相似点抽离出来,并将这些属性归为一个类,简单理解是:将需要解决的事情抽象成Java代码. ...

  9. 五、吃掉Java基本数据类型,学习Java的基础

    @Author:Runsen @Date:2020/5/20 Java是一个强类型语言,Java中的数据必须明确数据类型.在Java中的数据类型包括基本数据类型和引用数据类型两种. 我是天天看菜鸟和W ...

最新文章

  1. [Music]A Place Nearby
  2. Ubuntu免安装配置MySQL
  3. XCTF-高手进阶区:ics-07
  4. 2019优质公众号大盘点,果断收藏了慢慢看吧 ~
  5. 31 PP配置-生产车间控制-定义计划策略组
  6. 数据挖掘:模型选择——KNN
  7. 昆明职高计算机学校,昆明职高学校,昆明职高学校前十强,昆明职高学校哪些比较好一点 - IT教育频道...
  8. 2022年全球与中国GPS天线模块市场现状及未来发展趋势
  9. 实习生快速入手项目php,2019.7最惨的三次面试经历-----百度PHP实习生面经
  10. 云计算销售和传统销售有什么区别
  11. SI(crosstalk)对common path的影响(CPPR)
  12. STM32单片机-低功耗设置
  13. Spring Boot 集成支付宝 沙箱支付
  14. 机器学习(多元线性回归模型逻辑回归)
  15. insert()方法
  16. 服务器c盘有个inetpub文件夹,Win10正式版C盘inetpub文件夹可以删除吗 Win10正式版C盘inetpub文件夹删不掉怎么办...
  17. 尚硅谷前端项目开发笔记
  18. 数字图像处理(2)正交变换
  19. 在uniapp 中使用百度统计 【精华版】
  20. YAD2K: Yet Another Darknet 2 Keras

热门文章

  1. 分布式文件存储系统Minio,tuling,fox
  2. Spring第8篇:自动注入(autowire)详解
  3. mysql配置服务器失败怎么办_安装程序配置服务器失败怎么办?数据库配置失败的解决方法...
  4. scala的伴生类和伴生对象所属类是什么?
  5. 如何才能屏蔽迅雷版本低的提示啊?
  6. 开发了一个游戏卡顿OpenWrt路由器插件
  7. Makefile中.PHONY的作用
  8. commons-pool2(2.6.2)实现对象池-jdk8
  9. ROS安装踩坑解决指南
  10. 学习java就要多看书!