Java学习笔记:week01(二)

Java基础篇:数据类型与运算符

java小兵又开始记笔记了

java跨平台运行

jre 虚拟机 ,编译一次可以到处运行

不同的操作系统,不同版本的虚拟机:linux 内核(centos 、红旗linux、Ubuntu)

高版本可以兼容版本(向下兼容)

本地jdk11 远程服务器

注意:高版本编译的类不能运行在低版本的java环境下。 低版本编译的类通常可以运行在高版本的java环境下。(不确切的问题,可能会在高版本不支持低版本 的某些特性)

java 语言的特性

  • 面向对象的编程语言
  • 跨平台性(java虚拟机(JRE))
  • 可靠性、安全性(底层实现性保证了一定的安全性,内存回收自动完成(C语言,手工编写程序实 现内存的回收,存在忘记回收内存的问题))
  • 分布式(互联网的) 多线程(同时做多件事情),(单cpu模拟多任务 多颗cpu)

java注释:

1.单行注释:// 
2.多行注释:/*   注释内容 */
3.文档注释:/** 注释内容*/  api

数据类型与运算符

程序=指令+数据
数据:123 我的中国 12.33 A b True False
分类:

值的特性两大类:
1.数值型数据 :

  • 整型 :

  • 字节型(byte 1个字节占8位 )

  • 短整型(short 2个字节)

  • 整型 (int 4个字节)

  • 长整形(long 8个字节)

    浮点型 :

  • 单精度(float 4个字节)

  • 双精度(double 8个字节)

2.非数值型:

  • 字符型(char 16位unicode) ‘A’ ‘b’
  • 布尔型(boolean 1) true false
  • 字符型(String不是基本数据类型,引用数据类型)

在内存中的存放方式:

  • 基本类型(8种)
    • 整型:字节类型、短整型、整型、长整型
    • 实型:单精度、双精度
  • 字符型(char)
  • 布尔型(boolean)
  • 引用数据类型
    • 数组
    • 类(字符串就是类的类型)
    • 接口

我们使用数据类型,有转换问题:
前提:同类型的数据
1.自动转换
整型碰到实型,会自动转成实型 8+1.23=9.23 小(所占空间)碰到大的
2.强制转换
实型要转整型 1.23 -> 1 大的转的小 字节类型 -> 整型

变量

数据如何在程序的表示的,数据其实在内存中表示
需要数据内存空间来 变量
为方便识别数据空间,给空间起一个名字,就做变量名
变量名起名原则:
1.字母、数字、下划线和$组成 2.不能以数字开头
3.不能是关键字(50个,包括class ,public 在java中具有特殊的含义词)和保留字(现在没有使用, 将来有可能使用的单词(goto)) 4.见文知义 name num 5.驼峰命名法,首字母小写,若由两个或者两个以上单词组成,则除第一个单词外,其余单词的首字大写
比如:学生姓名 (student name) studentName

运算符

表示完数据,就型各种运算,数学运算 算术运算
(+ - * / %(取余运算) ++ --)
连续运算:计算原则:
1.在前 先运算再执行操作

int a=1,b=2,c; 
c = ++a;// a=a+1 ;将a的值赋值给c   c=2 a=2

2.在后 先操作再进行运算

int a=1,b=2,c; 
c = a++;// a=a+1 ;将a的值赋值给c   c=1   a=2

关系运算
比大小

>   <    ==  !=   >= <=

结果是布尔值(true\false)
java不支持连续比较

逻辑运算

!非 优先级高
逻辑与 && 逻辑或 ||
&& 存在短路问题,&&前表达式的值为假(false),后边的表达式不进行运算,结果为假 || 存在短路问题,||前表达式的值为真(true),后边的表达式不进行运算,结果为真

三目运算(三元)

语法:

表达式1 ? 表达式2  :  表达式3;

当表达式1的值为真时,返回表达式2的值;
当表达式1的值为假是,返回表达式3的值;
int a=1,b=3,c; 
System.out.println(a>b);

c = a>b?a:b;// 计算两个数字中的最大值 
System.out.println(c);

赋值

符合赋值运算
+= -= *= %=

int a=12;
a+=2;// a=a+2;

位运算

十进制 12
二进制 1100
八进制 014 0是一个标识位
十六进制 (0-9-a-b-c-d-e-f) 0xc 或者 0Xc
将数字转成二进制

符号功能
&按位与,同为真则为真
l按位或,有真则为真
~按位取反,单目运算(高)
^异或,两个相同则为0,不同则为1
>>右移,向右移位,最高位补标识位
<<左移,向左移位,低位补零

instanceof

双目运算符
类型判断
语法:

对象   instanceof  类
判断左面对象是否为右面类或子类的对象,返回值是boolean 

优先级的问题:
1.单目运算的优先级是最高的。
2.括号,可以改变运算的优先级。
3.赋值运算的优先级最低
4.算术运算 > 关系运算 > 逻辑运算>条件运算符>赋值运算符
5.运算的从左到右
例子:

int a=b=3,c=12;
c=a---b;// (a--)-b   不是a-(--b);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值