Java语法基础

Java语法基础

1.注释、标识符、关键字

注释

 /**
  * 可以用来自动创建文档的注释
  */
 ​
 public class Hello {
     public static void main(String[] args) {
         // 向屏幕输出文本:
         System.out.println("Hello, world!");
         /* 多行注释开始
         注释内容
         注释结束 */
     }
 } // class定义结束
 ​
 //Java入口程序规定的方法必须是静态方法,方法名必须为main,括号内的参数必须是String数组。

标识符

  • 所有标识符应以字母(A-Z或者a-z)、美元符($)、或者下划线(-)开始

  • 首字符之后可以是字母、美元符、下划线或数字的任何字符组合

  • 不能使用关键字作为变量或方法名

  • 标识符是大小写敏感的

关键字

2.数据类型

  • 强类型语言:要求变量的使用要严格符合规定,所有变量必须先定义后才能使用

  • 弱类型语言:JavaScript

  • Java的数据类型分为两种:

    • 基本类型(整型[4种]、浮点型[2种]、字符型[1种]、布尔型[1种])和引用类型(类、接口、数组)

      • byte:-128 ~ 127

      • short: -32768 ~ 32767

      • int: -2147483648 ~ 2147483647

      • long: -9223372036854775808 ~ 9223372036854775807

什么是字节?

位(bite) : 计算机 内部数据 存储的最小单元,11001100是一个八位二进制数

字节(byte) : 计算机中 数据处理 的基本单元,习惯上用大写B来表示。

1B (byte,字节) = 8bit (位)

字符:计算机中使用的字母、数字、字和符号

 public class Demo02 {
     public static void main(String[] args) {
         float f = 0.1f;
         double d = 1.0/10;
         // 少用浮点数进行比较!!!
         System.out.println(f==d);   //false
         System.out.println(f);
         System.out.println(d);
 //===================================================================================
         //float类型可最大表示3.4x10^38,而double类型可最大表示1.79x10^308
         //数学工具类:BigDecimal 数学工具类
         float i1 = 34567891234567893456f;
         float  i2 = i+1;
         System.out.println(i1==i2);      //true
 ​
 //=================================================================================
         //字符拓展      所有字符本质还是数字
         char c1 = 'A';
         char c2 ='中';
         System.out.println((int)c1);    //强制转换
         System.out.println((int)c2);
 ​
         //转义字符      \t(制表符)     \n(换行)  .....
         String sa = new String("hello world");
         String sb = new String("hello world");
         System.out.println(sa==sb);     //false
 ​
         String sc = "hello world";
         String sd = "hello world";
         System.out.println(sc==sd);     //true
         
     }
 }

3.类型转换

由于Java是强类型语言。所以要进行有些运算的时候要用到类型转换。

 // 低——————————————————————————————————————>高
 // byte,short,char——>int——>long——>float——>double
 ​

运算中不同类型的数据转换为同一类型,再计算。

  • 强制转换:高——》低 转换时注意溢出

  • 自动转换:低——》高

4.变量、常量、作用域

  • Java变量 是程序中最基本的存储单元,其要素包括:变量名、变量类型 和 作用域。

  • Java是一种强类型语言,每个变量都必须声明其类型。

 type varName [=value] [{,varName[=value]}];
 //数据类型  变量名 = 值;可以使用逗号隔开来声明多个同类型变量
  • 注意事项

    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

    • 变量名必须是合法的标识符

    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量作用域:类变量、实例变量、局部变量

 public class Demo03 {
     //属性:变量
 ​
     //类变量 static
     static double salary = 15000;
 ​
     //实例变量:从属于对象
     String name;
     int age;
 ​
     //main方法
     public static void main(String[] args) {
 ​
         //局部变量:使用之前必须初始化初值
         int i=10;
         System.out.println(i);
 ​
         //变量类型 变量名字 = new Demo08()
         Demo03 demo03 = new Demo03();
         System.out.println(demo03.age);
 ​
         //类变量 static
         System.out.println(salary);

常量:可理解为一种特殊的变量,其值 被设定后在程序运行过程中不允许被改变。

 // final 变量名=值;         
 //finial double PI = 3.14;      常量名一般用大写字符
 ​
 public class Demo04 {
     // 前两个为修饰符,不存在先后顺序
     static final  double PI = 3.14;
     public static void main(String[] args) {
         System.out.println(PI);
     }
 }

5.运算符

 public class Demo02 {
     public static void main(String[] args) {
         long a = 123456788888666666l;
         int b = 1234;
         short c = 10;
         byte d = 8;
         // 如果有Long 结果就为 Long 类型;若有double 结果就为 double类型。
         //其他默认为 Int类型
         System.out.println(a+b+c+d);    //Long
         System.out.println(b+c+d);      //Int
         System.out.println(c+d);        //Int
 // 算术运算符    +  -  *  /  % 
 public class Demo01 {
     public static void main(String[] args) {
         //ctrl +D :复制当前行到下一行
         int a =10;
         int b =20;
         int c =25;
         int e =25;
         System.out.println(a+b);
         System.out.println(a-b);
         System.out.println(a*b);
         System.out.println((double)a/b);
         System.out.println(c%b);
         // 关系运算符返回的结果:正确、错误     布尔值
         System.out.println(a==b);
     }
 }
 //自增自减运算符       ++      --
 public class Demo03 {
     public static void main(String[] args) {
         // ++       --      自增,自减   一元运算符
         int a = 3;
         int b = a++;    // ++在后面,先赋值(b=3)再自增
         int c = ++a;    // ++再前面,先自增(a=5)再赋值(c=5)
         System.out.println(a);
         System.out.println(b);
         System.out.println(c);
     }
 }
 // 逻辑运算符    &&      ||      !
 public class Demo04 {
     public static void main(String[] args) {
         // 与(and)   或(or)   非(取反)
         boolean a =true;
         boolean b = false;
         System.out.println("a && b:" + (a&&b));
         System.out.println("a || b:" + (a||b));
         System.out.println("!(a && b):"+!(a&&b));
 ​
         //短路运算
         int c = 5;
         boolean d =(c<4) && (c++ < 4);
         System.out.println(d);
         System.out.println(c);  //输出5 即出现短路
     }
 }
 ​
 // 位运算  &   |  ^(异或)    ~   >>(相当于/2)      <<(相当于*2)      >>>
 public class Demo05 {
     public static void main(String[] args) {
         /*
         A = 0011 1100
         B = 0000 1101
         ————————————————————————————————————————————————
         A&B =0000 1100
         A|B = 0011 1101
         A^B = 0011 0001  异或:两个位置相同就为0  不同就为1
         ~B  = 1111 0010
         */
         
         System.out.println(2<<3);
         // 0000 0010        <<3         0001 0000
     }
 }
 public class Demo06 {
     public static void main(String[] args) {
         int a =10;
         int b = 20;
         a+=b;   //a=a+b
         System.out.println(a);
 ​
         //字符串连接符    +  , String
         System.out.println(""+a+b); //3020  字符串在前面 后面的则拼接
         
         System.out.println(a+b+"");//50     字符串在后面 前面的会进行运算
     }
 }
 //三元运算符  x ? y : z    如果x==true,则结果为 y,否则为 z
 public class Demo07 {
     public static void main(String[] args) {
         int score = 88;
         String type = score < 60 ? "不及格" :"及格";
         System.out.println(type);
     }
 }dao

6.包机制、JavaDoc

  • 为了更好地组织类,Java提供了包机制,用来区别类名地命名空间。

  • 语法格式为:

     package pkg1[.pkg2[.pkg3...]]
  • 在Java程序中导入需要的包 使用 "import"语句即可。

     import package1[[.package2...].(classname|*)]
     // import com.yang.base.*;    .*即将base包中的所有类都导进去
  • JavaDoc命令用来生成自己的API文档

 @author 
 @version
 @since 指明需要最早使用的JDK版本
 @param 参数名
 @throws 异常值抛出情况

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值