Java语言的基础

转义字符:

\n

回车(\u000a)

\t

水平制表符(\u0009)

\b

空格(\u0008)

\r

换行(\u000d)

\f

换页(\u000c)

\'

单引号(\u0027)

\"

双引号(\u0022)

\\

反斜杠(\u005c)

\ddd

三位八进制

\udddd

四位十六进制

字符串类型,是用String表示的类型,①直接赋值,如:Stringstr=”hello”(直接存储在栈里,寻找具有hello的字符串,如果已经有则直接指向hello,如果没有过就开辟一个hello空间);②用new创建字符串对象,如:String str=new String(” hello”)(每创建一个new对象,就在堆中开辟一个对象空间,栈中的地址指向堆的内容);

引用类型:类类型,接口类型,数组类型

定义:引用类型的值是指向内存空间的引用,就是地址,变量引用(地址)存在栈中,而对象存在堆中。

引用数据类型包括:类,数组,接口

基本数据类型和引用类型的区别主要在于基本数据类型的`量和内容是分配在栈上的,而引用类型的量被分配在栈内存里,而真正内容是分配在堆上的,栈通过指针指向堆上的内容。

实例:我们分析一下”==“和equals()的区别。

①定义两个string对象(引用类型)

stringa="abc"; //a指向堆中一个对象的地址

string b="abc"; //b指向堆中另一个对象的地址

然后

if(a==b){system.out.println("a==b");}

else

{system.out.println("a!=b");}

程序输出a!=b

原因:a和b的地址是不相同的,a==b比较的是两个变量的地址,所以地址不相等;

②定义两个基本类型

int a=4;

int b=4;

if(a==b){system.out.println("a==b");}

else

{system.out.println("a!=b");}

输出:a==b

原因:==比较的是两个变量的内容

结论:不论是基本数据类型还是引用类型,他们都会先在栈中分配一块内存,对于基本类型来说,这块区域包含的是基本类型的内容;而对于对象类型来说,这块区域包含的是指向真正内容的指针,真正的内容被手动的分配在堆上

User user; .栈区 局部变量

UserDAOuserDao; .方法区 静态成员变量

User[] users; .堆区 实例变量

类型转型:自动类型转换和强制类型转换

自动类型转换:由低精度类型向高精度数据类型的转换,如:bytebt=5;int it=bt;

强制类型转换:与自动转换相反,如:inti=16;byte bt=(byte)i;

相等性测试:==和equals()

1.4操作符(运算符)

分类:算术运算符,布尔运算符,关系运算符,位运算符,赋值运算符,条件运算符,字符串运算符,逗号运算符,其他运算符;

①算术运算符:

单目:+ (取正) - (取负) ++ (自增1) - - (自减1),如:i=0,j=0; j=i++(i=0,j=1);j=++i(i=1,j=1)

双目:+ - * / %(取余)

三目:a>b?true:false

说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"

②关系运算:

= =(等于),!= (不等于),> (大于),< (小于), >= (大于等于) ,<= (小于等于)。

③位运算符:

位运算符 与(&)、非(~)、或(|)、异或(^)

&:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000

| :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110

~:0变1,1变0 。如~1010=0101

^:两边的位不同时,结果为1,否则为0.如1100^1010=0110

④逻辑运算符:

与(&&)、非(!)、或(||)

⑤赋值运算符:

= += -= *= /= %= &= ^= |= <<= >>=

⑥其他

运算符优先级

按优先级从高到低排列如下:[ ] ( ) ++ -- ! ~ instanceof * / % + - << >>>>> <> < = > \ == != &^& & || ? := op= 。(口决:算关位逻赋)。

注:instanceof:测试某个对象是否是指定类或其子类的实例,。是Java的一个二元操作符,Java的保留关键字;作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。可以用在继承中的子类的实例是否为父类的实现。instanceof 一般情况下用在对象类型的强制转换。如:if(myObjectinstanceofMyClass){MyClassanothermyObject=(MyClass)myObject;…}是判定myObject是否是MyClass的实例或是其子类的实例。

<

>>:右移(带符号)

>>>:添零右移

没有必要去记忆运算符号的优先级别,在编写程序时可尽量的使用括号来实现你想要的运算次序,以免产生难以阅读或含糊不清的计算顺序.运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3 相当于(8-5)+3.逻辑否运算符的结合性是右到左, x 相当于!(!x).表3.4是Java所有运算符的优先级和结合性。

当运算符进行数值运算时,结果类型默认高精度者,如:longa=1.23456,float b=2.123, c=a+b,c为long型。

1.5表达式

指用运算符连接起来的符合Java 规则的式子,如:c=a+b

1.6语句

赋值语句:

流程控制语句:

判断语句(if三种语句,switch语句)

① 简单if条件语句,描述:当表达式返回true 时,执行语句1(或语句块);当表达式返回false 时,直接执行下面的语句。如:if ( x>90 ) System.out.println("Good!");

② if…else…语句,描述:当布尔表达式返回true 时执行语句块1,否则执行语句块2;如:if (x>60)

System.out.println("Pass!");

else

System.out.println("No pass!");

③ if…else if…语句,描述:多分支语句,如:

int score;

char grade;

score=Integer.parseInt(args[0]);

if (score>=90)

grade=’A’;

else if(score>=80)

grade=’B’;

else if (score>=70)

grade=’C’;

else if (score>=60)

grade=’D’;

else

grade=’F’;

System.out.println("Score="+score+" Grade="+grade);

④ switch语句:描述:适合于用某个值来检测一个变量是否符合某个条件;

switch(条件表达式){

case 常量表达式1:

语句块1;

break;

case 常量表达式n:

语句块n;

break;

default:

语句块n+1;

break;

如:int week=3;

Switch(week){

Case 1:

System.out.println(“星期一”);

Break;

Case 2:

System.out.println(“星期二”);

Break;

Case 3:

System.out.println(“星期三”);

Break;

default:

System.out.println(“请输入有效数字!”);

}

循环语句(for语句,while语句,dowhile语句)

for语句:

for(初始化语句;循环条件;迭代语句){

语句序列(循环体)

}

java语言 U_Java语言的基础相关推荐

  1. java case用法_Go语言 | goroutine不只有基础的用法,还有这些你不知道的操作

    今天是golang专题第15篇文章,我们来继续聊聊channel的使用. 在我们的上篇文章当中我们简单介绍了golang当中channel的使用方法,channel是golang当中一个非常重要的设计 ...

  2. Java回炉之语言基础

    Java回炉之语言基础 Java回炉之语言基础 DOS命令 java编译过程 path和classpath的区别 关键字表 数据类型 位运算 算数优先级 内存划分 类的初始化过程 static关键字特 ...

  3. 给Java开发者的Flutter开发基础---Dart语言

    接近半年没有在简书冒泡了.这段时间一是忙于使用云信IM开发相应项目,二是整理和收集相关Flutter的相关资料进行学习.国内关于Flutter的资料还是太过于稀少,以至于我只能去YouTube和Ude ...

  4. Java之J2se-Java语言基础(程序结构) 教学视频发布了,请小伙伴们前往观看

    Java之J2se-Java语言基础(程序结构) 教学视频发布了,请小伙伴们前往观看 视频地址如下: http://v.youku.com/v_show/id_XODA5NTM3NTAw.html

  5. 笔记整理2----Java语言基础(二)06 断点调试与数据加密+07 面向对象-类与对象+08 java常用API-基础+09 java集合+10 IO流-基础

    06 断点调试与数据加密+07 面向对象-类与对象+08 java常用API-基础+09 java集合+10 IO流-基础 第06天 java基础语法 今日内容介绍  Eclipse断点调试  基 ...

  6. c语言 python-C语言、Java语言和python语言的区别在哪里

    原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...

  7. 人工智能用python还是java_学会java和python语言,可以开始搞人工智能吗?

    作为一名软件开发工程师,个人认为,当你学会Java和Phthon语言使用后,不建议你直接上手人工智能.下面我来说一下个人看法: 人工智能领域门槛较高 人工智能对于一般同学而言,其入门门槛相对较高,你虽 ...

  8. java和c语言的区别_单片机为什么一直用C语言,不用其他编程语言?只有学过的知道...

    单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢 ...

  9. mysql解释器_atitit.java解析sql语言解析器解释器的实现

    atitit.java解析sql语言解析器解释器的实现 1. 解析sql的本质:实现一个4gl dsl编程语言的编译器 1 2. 解析sql的主要的流程,词法分析,而后进行语法分析,语义分析,构建sq ...

最新文章

  1. Docker 容器中“TERM environment variable not set.”问题解决
  2. tar.gz及tar.bz2两种常见格式的打包压缩及解压方法
  3. 51单片机c语言电子钟(已加入调时 '整点报时功能1),51单片机c语言电子钟(已加入调时、闹铃、整点报时功能1)万年历2...
  4. Java访问修饰符——用于控制可见性
  5. Linux命令行设置环境变量
  6. 署名用by还是from_介词专题|工作“到7点”是By 7pm还是Until 7pm?
  7. 分享视频分析软件常用的几个C++库
  8. C# 通过调用Microsoft Office编辑Word文件
  9. 计算机专业 外文数据库,计算机专业外文翻译原文 数据库管理系统介绍.doc
  10. C# wpf ScrollBar自定义音量调节样式滚动条
  11. 通过slave_exec_mode=IDEMPOTENT跳过主从复制中的错误(1032 1062)
  12. 进程控制 父进程子进程 fork pid
  13. HTML 如何让图片自动改变大小,CSS如何设置图片的大小
  14. appinventor HTML5,App Inventor编程教程-第18课-创建动画应用
  15. Video Caption
  16. Unity烘焙基础操作
  17. ubuntu 17\18.04 调节鼠标指针速度
  18. APEX是NVIDIA PhysX技术的一个强有力的补充
  19. oracle预收核销,Oracle EBS AP取消核销
  20. 爬虫获取的数据和在自己浏览器看到的不一样

热门文章

  1. JsonHelper
  2. RouterOS建立PPPOE服务器
  3. winform 控件半透明设置
  4. Akka 系列(五):Java 和 Scala 中的 Future
  5. 0909 初识操作系统
  6. erlang: Programming Rules and Conventions。
  7. 修改新版am335x支持1G主频的方法[来自A Xian调试记录]
  8. win messenger启动随outlook explorer
  9. IT人士群聚喝酒的讲究(转载)
  10. hive中的绣花模型_hive建模方法