黑马程序员技术交流社区

标题: Java 基本语法(求加精丶) [打印本页]

作者: gaol    时间: 2016-9-15 16:52
标题: Java 基本语法(求加精丶)
Java 基本语法(一)——数据类型
Java语言是一种严格的“类型化”语言。这意味着每个变量都必须有一个声明好的类型。Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。Java另外还提供大数字对象,但它不是Java的数据类型。
  1、整数:
  定义:没有小数部分的数字,负数是允许的。
  种类:Java提供四种整数类型:
  int 4个字节 -2,147,483,648到2,147,483,647
  hort 2个字节 -32,768到32,767
  long 8个字节 -9,223,372,036,854,775,808L到9,223,372,036,854,775,807L
  byte 2个字节 -128到127
  2、浮点数:
  定义:含有小数部分的数字。
  分类:Java提供两种浮点数:
  float 4个字节 约+—3.40282347E+38F(6~7个有效的十进制数位)
  double 8个字节 约+-1.79769313486231570E+308(15个有效数位)
  说明:
  1)float类型的数值有个后缀:F,如果没有后缀F,那么默认为double。double类型的数值也可以使用后缀D。
  2)当这些数字遇到取值范围错误时,会发生(上溢Overflow);而在遇到象被零除时,会发生下溢(Underflow)。
  3、字符类型:
  定义:单引号用来表示char常量,
  说明:
  1)双引号则表示一个字串,他是Java的一个对象,并不是数据类型。
  2)char类型表示Unicode编码方案中的字符。
  Unicode可同时包含65536个字符,ASCII/ANSI只包含255个字符,实际上是Unicode的一个子集。Unicode字符通常用十六进制编码方案表示,范围在'\u0000'到'\uFFFF'之间。\u0000到\u00FF表示ASCII/ANSI字符。\u表示这是一个Unicode值。
  3)在Java中除了用这个\u的形式来表示字符外,还可以使用换码序列来表示特殊字符。
  \b 退格 \u0008
  \t Tab制表 \u0009
  \n 换行 \u000a
  \r 硬回车 \u000d
  \" 双引号 \u0022
  \' 单引号 \u0027
  \ 反斜杠 \u005c
  4)理论上在Java的应用程序和小应用程序中使用Unicode字符,但至于他们是否能真正显示出来,却要取决于使用的浏览器和操作系统,其中操作系统是最根本的。
  4、布尔类型:
  boolean类型只有两个值:false和true,用过其他编程语言的朋友肯定对它们并不陌生。

Java 基本语法(二)——变量和常量




Java 基本语法(三)——运算符和类型转换
1、运算符:
  1)Java语言中,常用的运算符包括:+,-,*,/,这些就不用说了,大家肯定很熟悉了。
  2)幂:Java没有乘幂运算符,必须使用Math.pow(x,a)方法,表示x的a次幂。pow方法的两个参数都属于double类型,返回的值也是double类型。
  例如:
  double a = Math.pow(10,3); //定义了一个变量a,它的值是10的3次幂。
  3)递增、递减运算符:
  a++,a-- 先使用变量的值,然后再递增或递减。
  ++a,--a 先递增或递减然后再使用变量的值。
  4)关系和布尔运算符:
  关系运算符:==,!=,<,>,<=,>=
  布尔运算符:&&(与), ||(或), !(否)
  5)按位运算符:
  &(加),|(或),^(异或),~(否),>>向右移位,<<(向左移位),> >>(用零来填充位于顶部的位)
  注意Java没有<<<运算符。
  6)括号和运算符分级:
  在Java中各种运算符默认的计算顺序是:
  [],()(方法调用) 从左到右
  ! ~ ++ -- +(一元) -(一元) () (造型) new 从右到左
  + / % 从左到右
  + - 从左到右
  << >> > >> 从左到右
  < <= >= > instanceof 从左到右
  == != 从左到右
  & 从左到右
  ^ 从左到右
  | 从左到右
  && 从左到右
  || 从左到右
  ?: 从左到右
  = += -= *= /= &= |= ^= <<= >>= . >>= 从右到左
  在Java中可以使用括号来指定自己希望的计算顺序,从而改变运算符默认的运算顺序。
  2、数值类型的互相转换:
  当不同数据类型的数据参加运算的时候,会涉及到不同的数据类型的转换问题:
  Java语言数据类型的转换基本上按照下面的规则进行:
  如果其中一个运算对象是double类型的,另一个也会被转换成double类型。
  否则,如果其中一个运算对象是float类型的,另一个也会被转换成float类型的。
  否则,如果其中一个运算对象是long类型的,另一个也会被转换成long类型的。
  否则,如果其中一个运算对象是int类型的,另一个也会被转换成int类型的。
  否则,如果其中一个运算对象是short类型的,另一个也会被转换成short类型的。
  类型转换还可以通过“造型”来实现,语法很简单,将目标类型放在括号里,然后在后面跟上一个变量名就可以了。
  例如:
  double x = 9.99;
  int nx=(int)x; //这时nx就是一个int类型的数据了,并且它的值是9,后面的部分在造型过程中被丢掉了。如果想把一个浮点数舌入成“最接近”的整数,可以使用Math.round方法。在使用Math.round方法舌入后,可能还要使用造型来进行类型转换。
  Java还允许将一种类型的变量值赋给另一个变量,同时不进行显示造型,同样可以进行某些特定的赋值转换,允许的转换包括:
  buty->short->int_>long->float->double char->int
  当进行赋值的时候,会按照上面的顺序从左向右转换

作者: 长空皓月    时间: 2016-9-15 17:17
总结的挺好的,有两点小建议
1.byte只占一个字节,一个字节包含8bit,所以byte的范围是-2^7到2^7-1即[-128,127].
2.另外你上面说的造型,好像在java中叫强制转型,即向下转型.
作者: 奋斗41280    时间: 2016-9-15 22:12
感觉有用,复制粘贴一份.
作者: huang01    时间: 2016-9-15 22:22
来看看,嘿嘿




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2