一、JavaSE 基础语法学习

1、关键字

在java里面有特殊含义的单词如 class ,好比int是用来定义整型数据,它已经被java官方使用了,你就没有办法在使用了。
注意:后面我们学习中会慢慢接触关键字不用刻意去背

2、数据类型

在我们的现实生活中我们经常买菜10块钱,10块5毛钱,我们这些数据要存储到计算机里面,所以我们的java、c等等这些语言都设计了数据类型,那么像整数(整型)为啥有byte,short,int ,long 这么多呢?这就像我们吃饭吃的多的大碗,吃的少的用小碗避免浪费,如果你的数字很小那你可以用 byte。

注意: 图片里没有放String 类型,String 类型也是引用类型。 小数默认double 整数默认是int 也就是说你写 short a=5; 默认右边是int类型赋值给了short ,因为这个5没有超过short类型的最大范围所以没有报错

我们看报错信息,这里就是因为a=a+1 这里的1默认是int类型

注意:图片上的1 是指1个字节,一个字节等于8位二进制,大家可能在想那byte占用一个字节为啥取值范围是 -128到+127 原本应该是 0000 0000 (最小数)~ 1111 1111 (最大数) 但是在计算机里面是以补码的形式存储的 ,在计算机里面为了表示负数规定第一位为符号位 0 表示整数 1表示负数
计算机为啥用补码大家可以百度一下,就是方便计算在这里我简单讲一下补码运算
如 127 这个数字是一个正数所以它的原码、反码、补码都一样
-12 的原码是1000 1100 第一个1表示符号位,是个负数 ,然后他的反码是符号位不变,其他位取反,1111 0011 补码是反码加1 结果为 1111 0100

1111 1111 -127原码

1000 0000 -127反码

1000 0001 -127补码 -128不就等于-127-1 所以1000 0000
所以byte的范围是0111 111 整数127
负数 1000 0000 -128

原码 反码补码大家可以查阅一下资料。下图提供大家快速计算二进制的方法

3、常量和变量

常量就是程序运行过程中值不会发生改变的量

  1. 常量的分类
  • 整数 如5就是常量
  • 小数 如5.0 就是小数常量
  • 布尔
  • 字符: 单引号里面只有一个字符 如’a’ (注意是英语) '10’这样是错的,这是为什么呢?大家有没有想过在计算机里面汉字,英语字母、数字都是怎么存储的?美国做了一个标准叫ASCII码,大家学计算机应该知道,在这个里面只有字符0到字符9 ,没有10这个字符,字符0的ASCII码是48所以字符10 是两个字符。字符里面不能没内容 ‘’ 但是可以 ’ ’ 可以是空格。
  • 转义字符
    \b \n \r \t " ’ \
  • 字符串:英文双引号包裹的一个或者多个字符可以没有内容
  • null 和空不能画等于号 null

2.变量
程序运行过程中值可以改变的量

  • 变量的定义格式

           数据类型    变量名;     例如 int  a;
    
  • 变量的赋值

           变量名=值;
    
  • 取值直接用变量名

注意:

  • 变量必须初始化
  • 变量不允许重复定义
  • 大小写敏感
  • 数据类型默认值
  • 变量起名规则就是标识符
    int x=1000 000 000 0; //10位不报错 后面1000 000 000 0 相当于常量,常量有默认值问题,整数默认是int 类型,而int类型最大10位数。
    int x=1000 000 000 00; //这里的11位就报错了
    long x=1000 000 000 0; //这里也会报错 long 必须后面加 l或者L

4、标识符

用来给变量,方法,类,起名的规则。

  • 由字母、数字、下划线、$ 组成
  • 数字不能打头
  • 不能是关键字
  • 大小写敏感

Java 开发约定
类名每个单词首字母大写
变量名只有第一个字母大写

5、类型转换

不包括String 和boolean

  • 自动类型转换(隐式转换) 小范围转大范围
  • double d=10;
  • 结果为10.0
  • 强制类型转换(显示转换) 大范围转小范围
  • int i=(int)10.9;
  • 结果为10,造成了精度损失
  • 类型转换级别
    -byte、char、short、int<long<float<double
    byte、char、short---->做运算时结果为int型

int i=128;
byte b=(byte)i;
System.out.println(b);
int 32位转byte 8位时只保留int 32位中的最后8位
0000 0000 0000 0000 0000 0000 1000 0000

6、String 字符串类型

引用数据类型

声明String类型变量用一对 "ab"双引号

可以和8种基本数据类型做运算,而且只能是连接运算,结果String类型

char c='a';
int num=10;
String str="hello";System.out.println(c+num+str);//107helloSystem.out.println(c+str+num);//ahello10System.out.println(c+(num+str));//a10helloSystem.out.println((c+num)+str);//107helloSystem.out.println(str+num+c);//hello10a  出现一个String 然后都是System.out.println("*    *");//*    *System.out.println('*'+'\t'+'*');// 93 ascii码相加System.out.println('*'+"\t"+'*');//* *System.out.println('*'+'\t'+"*");//51*System.out.println('*'+('\t'+"*"));//*  *//String str1=4; //报错缺双引号String str2=3.5f+"";System.out.println(str2);//3.5System.out.println(3+4+"Hello!");//7hello!System.out.println("Hello!"+3+4);//hello!34System.out.println('a'+1+"Hello!");//98Hello!System.out.println("Hello"+'a'+1);//Helloa1
str="1223"
int  num=(int)str;//这是报错的不能这样
int num1=Integer.parseInt(str1); //这样通过包装类可以

属性(成员变量)默认值(在这里提前说一下)
int 0, short 0, byte 0,long 0, float 0.0, double 0.0 ,char \u0000, boolean false, String null
这个默认值大家可以学到后面在看

6、运算符

  • 算术运算符
+正号-负号+加-减*乘/除  12/5  等于2   int a=12,b=5;
double r=a/b;  //2.0 a是int 然后b是int 最后把int赋值给doubled=a/b+0.0; //2.0
double  c=a/(b+0.0); //2.4(double)a/b; //2.4(double)(num1/num2);// 2.0
%余
与被模数符号相同也就是左边的比如 -10%7=-3 看左边的符号++自增
short s1=10;
//s1=s1+1;//编译失败
s1=(short)(s1+1);//正确的
s1++;//也是正确,自增1不会改变本身变量的数据类型byte bb1=127;
bb1++;
System.out.println(bb1); //-128
- -自减+连接
  • 赋值运算符
+=、-=、*=,/=, %=short  s1=10;//s1=s1+2;//编译失败s1+=2; //不会改变变量本身数据类型,相当于做了自动类型转换变量+2的操作就两种 前提 int num=10;num=num+2; num+=2;(推荐)变量+1就有三种其中多个num++int  n1=10;n1+=(n1++)+(++n1);//n1=n1+ (n1++)+(++n1);      10+10然后n变11最后++n等于12  最后10+10+12
  • 比较运算符(关系运算符)
==   这里a=3,b=3然后a==b 结果就是true!=<>
<=
>=
instanceof  检查是否是类的对象这个到后面会学到
  • 逻辑运算符
&  逻辑与
&& 短路与
|  逻辑或
|| 短路或
! 逻辑非
^ 逻辑异或
这里的&&就是两边都是true结果就是true 为啥叫短路与
就是知道左边是false 右边就不进行计算了
逻辑与& 就是它知道左边是false也会计算右边 ,|运算符就是有一个是真的结果就是真的,异或就是两个符号不一样就是真的 ,! 就是非真就是假,非假就是真
  • 位运算符(就是用二进制去计算)
左右是数就是位运算,比较少
<< 左移   x2的n次方有限度最高位变成1了变成负数
>> 右移    /2的n次方 一定范围
>>> 无符号右移  不管正负,空缺都用0补,不管高位是0还是1
&
|
^
~ 取反
  • 三元运算符
表达式? a:b   就是表达式为真选择a 表达式为假选择b double num=(m>n)?2:1.0; //对
表达式和表达式二要求类型一致(m>n)?2:"n大";//编译错误int max3=(((n1>n2)?n1:n2)>n3)?((n1>n2)?n1:n2):n3;
三元能搞定的if-else都能搞定if(m>n){System.out.println(m);
}else{System.out.println(n);
}

以上内容如果看完有帮助的话记得帮忙点个赞,大家一定要跟着后面学,后面会java学完了我们就开始mysql 在后面我们就学习linux

大数据基础篇~JavaSE第三章相关推荐

  1. 大数据基础篇~JavaSE第一章

    大数据基础篇教程分享01 目前计算机专业现状,java开发工程师虽然容易找工作(这个也是在你在大学期间java基础学习的比较好,然后会一些框架,才能找到工作)但是java开发常常熬夜,楼主就是卷不动j ...

  2. 大数据基础之Hadoop(三)—— MapReduce

    作者:duktig 博客:https://duktig.cn (文章首发) 优秀还努力.愿你付出甘之如饴,所得归于欢喜. 本篇文章源码参看:https://github.com/duktig666/b ...

  3. 大数据基础:JavaSE

    优秀是一种习惯 大数据基础:JavaSE Java 语言背景 Java语言跨平台的原理 JVM,JRE,JDK关系 DOS命令 HelloWorld案例详解 编程中可能会出现的问题 注释 关键字 常量 ...

  4. dcmtk在PACS开发中的应用(基础篇) 第三章 工作列表(Work List)(一)( BY 冷家锋)

    觉得对您有帮助,欢迎打赏(打赏码在文末),欢迎切磋. 博客不常来,评论不一定都能看到,看到了我会尽力回复(更新于2019年7月26日) 第三章 工作列表(Work List)(一) 1 .目的 在工作 ...

  5. 大数据基础篇(一):联机分析处理(OLAP) 与 联机事务处理(OLTP)

    联机事务处理(OLTP) OLTP也称实时系统(Real Time System),支持事务快速响应和大并发,这类系统典型的有ATM机(Automated Teller Machine)系统.自动售票 ...

  6. python基础与大数据_Python大数据基础与实战第10章数据可视化.pptx

    ; 第十章 数据可视化技术;;10.1pyplot绘图基本流程;10.1 pyplot绘图基本流程;10.1 pyplot绘图基本流程; Matplotlib提出了Object Container概念 ...

  7. 大数据基础之Hive(四)—— 常用函数和压缩存储

    作者:duktig 博客:https://duktig.cn (文章首发) 优秀还努力.愿你付出甘之如饴,所得归于欢喜. 更多文章参看github知识库:https://github.com/dukt ...

  8. 大数据基础之Hadoop(一)—— Hadoop概述

    Hadoop系列 大数据基础之Hadoop(一)-- Hadoop概述 大数据基础之Hadoop(二)-- HDFS 大数据基础之Hadoop(三)-- MapReduce 大数据基础之Hadoop( ...

  9. 大数据基础平台搭建-(一)基础环境准备

    大数据基础平台搭建-(一)基础环境准备 大数据平台系列文章: 1.大数据基础平台搭建-(一)基础环境准备 2.大数据基础平台搭建-(二)Hadoop集群搭建 3.大数据基础平台搭建-(三)Hadoop ...

最新文章

  1. java调用npoi_NPOI导出数据到Excel
  2. vdi voi idv区别_VDI,IDV,VOI究竟有何不同
  3. mysql服务器配置优化
  4. 铝聚合物电池工作温度及低温电量差异的说明
  5. spring cloud 定时任务
  6. python控制步进电机代码tx2_步进电机C语言控制,高手请进来指点一下!
  7. VS2019-写opengl时Bugs合集(持续更新)
  8. CSS 布局实例系列(四)如何实现容器中每一行的子容器数量随着浏览器宽度的变化而变化?...
  9. Emmet语法——HTML和CSS快速生成代码/VS code如何快速格式化代码
  10. akka案例:统计单词个数
  11. mysql 数据类_MySQL数据类型
  12. java基础面试题之:i++与++i的区别
  13. 如何:删除Word 2010中的“向下箭头”
  14. LeetCode 134. Gas Station
  15. 如何快速获知需要的SPS Sql Search语法
  16. 做软件测试三,四年后的感想
  17. Go 语言中 Unsafe 包的用法
  18. co88 sap 实际结算_SAP标准成本过账逻辑和基本原理
  19. (2020)使用Airtest来爬取某宝评论数据
  20. 同步发电机转子的转动惯量与运动方程(二) 同步发电机的转子运动方程

热门文章

  1. Dell Systems Management Tools download
  2. Java计算1234各个位数和
  3. javascript单例、代理、状态设计模式
  4. 华能集团牵手阿里云 打造“互联物+”阳光采购样板工程
  5. 学习HTML5开发RPG游戏第五步游戏界面设计一
  6. 阿里的素质在线测评2020春招Java实习
  7. Deen Smart隐私政策
  8. Docker镜像压缩和优化
  9. 你曾后悔进入 IT 行业吗?为什么?(转自知乎)--一生不悔入IT
  10. Centos下Zookeeper的安装部署