Java Basic Knowledge

预备知识

Dos命令

-ncd\表示返回当根目录
■ cd A\B\C
表示进入当前录下的A文件夹下的B文件夹下的C文件夹下面
■ E:
■ 进入E盘根目录

运行时注意的问题

//假设该文件的名字是Test.java
class A
{
public static void main(String[] args)
 {
  System. out. printf("欢迎来到Java");
  }
}
测试数据
javac Test.java
java A

不能写java Test,编译时必须写文件名,运行时写的是文件中的类名

Java中的注释

三种注解: // 、 /**/ 、 /** */
  • // 单行注解,不需要配对
  • /**/ 多行注解,需要配对
  • /** */ 用于将注解变为说明文档,用javadoc实现.

Java语言的基本要素-标识符

  • 程序员对程序中的各个元素加以命名时使用的命名记号称为标识(identifier)
    包括:类名、变量名、常量名、方法名、...
  • Java语言中,标识符是以字母,下划线(_ ),美元符($)开始的一一个字符序列,后面可以跟字母,下划线, 美元符,数字。
  • 合法的标识符
  • identifier userName User_ Name
  • _sys_ value $change
  • 非法的标识符
  • 2mail room# class

Java语言的关键字

  • 令Java 中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword) 。
    • 大多数编辑器会将关键字用特殊方式标出
  • 令所有Java关键字都是小写英文。
  • goto 和 const 虽然从未使用,但也作被为 Java 关键字保留。
k e y w d
abstract default if private this
boolean do implements protected throw
break double import public throws
byte else instanceof return transient
case extends int short try
catch final interface static void
char finally long strictfp volatile
class float native super while
const for new switch null
continue goto package synchronized

数据类型

Java数据类型的划分

数据类型

基本数据类型

数值型

整数类型(byte, short, int, long)
浮点类型(float, double)

字符型(char)
布尔型(boolean)

引用数据类型

类(class)
接口(interface)
数组

输出数据的格式控制

输出控制符 针对的数据类型
%d int, long int , short, byte
%x,%#x,%X,%#X int, long int
%c char
%f float, double
%s String

注意:

          在java中没有%ld和%lf,比如float和double都用
   %f输出,这是与C/C++不同的

十六进制输出控制符

class TestHex
{
      public static void main( String[] args)
     {
           int i= 253;
           System.out.printf("%x\n", i);
           System.out.printf(" %X\n", i);
           System.out.printf("%#x\n", i); 
           System.out.printf(" %#X\n", i);
       }
}
输出结果
FD
0xfd
0XFD

常量--整型常量

整型常量
  • 十进制(12),十六进制(0x12),八进制(012)
  • 一个常量整数默认是int类型,如果数字过大,则必须的在末尾加L,否则>会出错!
例子:

long i = 9223372036854775807; //error
编译报错提示数字过大,但是如果改为:
long i = 9223372036854775807L;就可以了

常量--浮点常量

浮点常量
  • 一个实数默认是double类型, 如果希望一个实数是float类型, 可以在
    数字后面加f(F)
  • 将一个double类型数值赋给float类型变量,编译是会报错
例子:
float X= 2.2; //error
float x= 2.2f; //OK

常量---字符常量

■字符常量

  • 必须用单弓1号括起来
  • Java中字符和字符串都用Unicode编码表示
  • 在Unicode编码中一一个字符占两个字节
    ■ 'a' 'B' '\n' '\u0030'
    ■ 特殊字符的常量表示法
  • 反斜线( Backslash) ----------------------- '\\'
  • ( Backspace )--------------------------------'b'
  • 回车(Carriage return )-----------------------'\r'
  • 制表符( Form feed)---------------------------'t'
  • 换行(New line)-----------------------------------'\n'
  • 单引号(Single quote)---------------------------'\'

字符常量的“\uxxxx’表示

public class A
{
     public static void main( String0 args)
     {
       char ch1 ='中";
       char ch2 = "\u4e2d';  //'\uxxXx'表示十六进制的XXxx所对应的Unicode编码下的字符
       
      System.out.printf("%c %c\n", ch1, ch2);
     }
}
// 在JDK 1.6中的运行结果是:
-------------------
中
中
-------------------

常量---布尔类型

■ 用boolean表示,不能写成bool
■ 布尔型数据只有两个值true和false,且它们不对应于任何整数值
■ 布尔型变量的定义如:

  • boolean b = true;
    ■ 布尔型数据只能参与逻辑关系运算:
  • && || == != !
    ■ 注意:
  • If while for中进行真假判断时只能使用逻辑表达式

不同类型变量存储范围

■ byte占用一个字节,数字大小为 -27-----27 - 1
■ short占用两个字节,数字大>小为 -215-----215 - 1
■ int占用四个字节,数字大小为-231----- -231-1
■ long占用八个字节,数字大小为-263-----263 - 1
■ float占用四个字节,数字大小为1.4E-45 ~ 3.4E+308,-1.4E-45 ~ -3.4E+308
■ 用二进制的指数形式表示一一个 浮点数的格式,如: 10122,1012-3
■ double占用八个字节,数字大小为4.9E-324~1.7E+308, 4.9E-324~-
1.7E+308。
■ char占两个字节, 数字大小为0- -216 - 1,是unicode编码 。
■ boolean占一个字节,其取值只有两个,true和false。

类型 占用存储空间 表数范围
byte 1字节 -128 ~ 127
short 2字节 -215 ~ 215 - 1
int 4字节 -231 ~ 231 - 1
long 8字节 -263~ 263 - 1
类 型 占用存储空间 表数范围
float 4字节 -3.403E38 ~ 3.403E38
double 8字节 -1.798E308~1.798E308

数据类型的转化

■ 不能对boolean类型进行类型转换。
■ 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
■ 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化>为同一类型,然后进行运算,转换从低级到高级:
低------------------------------------------------------>高
byte- -> char- > int- -> long- -> float一> double

数据类型的转化举例

public c lass TestData
{
public static void main( String[] args){
 byte b = 10;
 int i = 6;
 i = b;//OK
 //b= i; //error会丢失数据
 b = (byte)i; //Ok强制类型转化
 float x;
 //x = 10*0.2;   //error  10*0.2;是double类型
 x = 10*0.2f; //OK
 System.out.printf(b +","+ i+","+ x);}

运行结果:
10,10,2.0

运算符

■ java中的运算符

■ 算术运算符
+ - * / %
■ 关系运算符
> >= < <= != ==
逻辑运算符
! && ||
■ 赋值运算符
= += *= /= %=
■ 位运算符
& | ~ ^

■ 算术运算符(+)

■ +可以表示数值的相加
■ +可以表示字符串的联接
如:“123”+“abc”的结果是“123abc”
■ +还能把非字符串转换成字符串
如: “x”+123;的结果是“x123”
■ 分析System.out.println('a'+1)
System.out.println(""+'a'+1)的区别

除法运算符( / )

■ 除法/的运算结果和运算对象的数据类型有关,若两个数都是int,则商就是>int,若商有小数,则截取小数部分;若两个对象中有一一个或两个都是浮点型>数据,则商也是浮点型,不截取小数部分

如:
16 / 5 == 3
16 / 5.0 == 3.20000
-13 / 4 == 4
-13 / -3 == 4
3 / 5 == 0
5 / 3 == 1

//测试代码如下:
public class A{
public static void main(String[] args){
       double x= 1/2.0; //考虑改为% 1.0 / 2 1.0 / 2.0 输出结果会怎样                                          
       System.out.printf("%f\n", x);
       }
}

取余运算符(%)

■ Java中允许取余运算符的被除数和除数是实数>(这与C/C++是
不同的),但所得余数的正负只和被除数相同
■ 例子

 double X = 1%-0.3;
 System.out.println(x);

输出结果: 0.10000000000000003

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,454评论 0 2
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,379评论 1 44
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 3,330评论 0 19
  • 青枝绿叶好名声 百姓厅中喜摆放 仙气弥漫全家福 倚君之名享荣昌
    典桂阅读 650评论 10 27
  • 多日不见江南月,顷刻如沐塞北雪。絮絮语,懒懒叠。浮云不忍,尽将情意掖。轻舟又去远,可将心携?伫足听。万籁俱寂,喧嚣...
    随意诗社阅读 679评论 1 1