Java基本语法 2

1.数据类型、类型转换

1、基本类型 :long、int、short、byte、float、double、boolean、char(8大类型)

类型名称 关键字 字节数 范围
整数 字节型 byte 1 -128~127
整数 短整型 short 2 -32768~32767
整数 整型 int 4 -2147483648~2147483647
整数 长整型 long 8 -2的63次方~2的63次方-1
浮点数 单精度 float 4 1.4e-45f~3.4e+38f
浮点数 双精度 double 8 4.9e-324~1.8e+308
布尔型 boolean 1 true或false
字符型 char 2
            byte a1=10;
            short a2=10;
            int a3=10;
            long a4=134256433;
​
​
            float q1=.1f;
            double q2=.1;
​
            char c1=100;
            char c2='d';
​
            boolean f=true;
            boolean f1=false;

2、引用类型(对象 类 接口 数组)

3、类型转换(默认类型转换、强制类型转换)

int i=30;
short n=(short)i;//强制类型转换
​
int a=5;
a+=1;
a=a+1;
System.out.println(a);//7
short b=(short) a;//7
b+=1;//b=8(+=可以实现自动的类型转换)
a=b+1;//a=9 b=8(b+1 结果类型为int )
System.out.println(a);//9
System.out.println(b);//8

2.运算符表达式

运算符:是一种特殊符号,用以表示数据的运算、赋值、和比较。

表达式:使用运算符将运算数据连接起来的符合Java语法规则的式子。int i=20*30;

1.算数运算符+ - * / % ++ --

int i=5;
++i;//自身加1
i++;
System.out.println(--i);//自身减1 如果++ --在变量前,先执行再使用,如果在后,先使用再执行。
int c=5;
++c;
int d=c++;
System.out.println(++c);//8
System.out.println(d++);//6

2.赋值运算符= += -= *= /= %=

int i=3;
i==;
i+=5;//相当于i=i+5;
int c=i-=2;
System.out.println(--c);

3.比较运算符

Java==!=> >= < <= instanceof
//==和=结果不一样,==是判断等不等,=是赋值,在Java语言中没有==
​
 System.out.println(1==2);//false
 System.out.println(1!=2);//true
 System.out.println(2!=2);//false
 System.out.println(2>5);//false
 System.out.println(2>=5);//false
 System.out.println(2<5);//true
 System.out.println(2<=5);//true
 System.out.println("hello" instanceof String);//true
 
  //比较运算符分时问候案例
  Calendar c=Calendar.getInstance();
  int hour=c.get(Calendar.HOUR_OF_DAY);
  System.out.println(hour);

4.逻辑运算符&&逻辑与 ||逻辑或 !逻辑非 注:逻辑运算结果都是boolean型,要么是true,要么是false

//&&逻辑与
System.out.println(!false&&!true);//false
System.out.println(true&&true);//true
System.out.println(true&&false);//false
System.out.println(false&&false);//false
System.out.println(false&&true);//false
​
//||逻辑或
System.out.println(!false||!true);//ture
System.out.println(true||true);//true
System.out.println(true||false);//true
System.out.println(false||false);//false
System.out.println(false||true);//true
​
//!逻辑非
System.out.println(!!!!true==false);//false
System.out.println(!(true||false));//false

5.位运算

3.格式化

String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。

不同转换符实现不同数据类型到字符串的转换:

Java基本语法 2_第1张图片

 String name="李四";
 int age=18;
 String address="河南省郑州市科学大道88号";
 System.out.println("姓名:"+name+",年龄:"+age+"岁,地址:"+address+"。");
 System.out.printf("姓名:%s,年龄:%d岁,地址:%s。",name,age,address);//姓名:李四,年龄:18岁,地址:河南省郑州市科学大道88号。
 
  //格式化小数
 System.out.printf("%.0f %<.2f %<.1f %<.3f %.0f",.13598,.98);//0 0.14 0.1 0.136 1

搭配转换符的标志,如图所示:

Java基本语法 2_第2张图片

日期和事件字符串格式化 %tx转换符是专门用来格式化日期和时间的

常见日期和时间组合的格式:

Java基本语法 2_第3张图片

格式化时间字符串的转换符:

Java基本语法 2_第4张图片

 //格式化时间
 Date d=new Date();
 Calendar c= Calendar.getInstance();
 System.out.println(d.getTime());
 System.out.println(c.getTimeInMillis());
 System.out.println();
 System.out.printf("%tF % 
  

SimpleDateFormat格式化日期:yyyy-MM-dd HH:mm:ss

Java基本语法 2_第5张图片

SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss S E");
Date d=new Date();
String dstr=df.format(d);
System.out.println(dstr);

  //时间戳(long 类型数字,用来表示 日期时间)
        System.out.println(System.currentTimeMillis());
        System.out.printf("%tp",System.currentTimeMillis());

String.format()字符串对象格式化方法,参数和System.out.println()一样。

String str=String.format("%d %<02d %<05d",3);
System.out.println(str);

for (int i = 0; i < 12; i++) {
        System.out.println(String.format("%03d",i));
        System.out.printf("%03d%n",i);
}

数字格式化NumberFormat

NumberFormat 是所有数值格式的抽象基类。此类提供格式化和解析数值的接口。 NumberFormat 还提供了一些方法来确定哪些语言环境具有数值格式,以及它们的名称是什么。 NumberFormat 可用于格式化和解析任何语言环境的数值。使代码能够完全独立于小数点、千位分 隔符甚至所用特定小数位数的语言环境约定,并与数值格式是否为偶小数无关。

getInstance()、getNumberInstance()。返回当前默认语言环境的通用数值格式。
getInstance(Locale)、getNumberInstance(Locale)。返回指定语言环境的通用数值格式。
NumberFormat.setMinimumIntegerDigits(int)。设置数的整数部分所允许的最小位数。
NumberFormat.setMaximumIntegerDigits(int)。设置数的整数部分所允许的最大位数。
NumberFormat.setMinimumFractionDigits(int)。设置最少小数点位数,不足的位数以0补
位,超出的话按实际位数输出。
NumberFormat.setMaximumFractionDigits(int)。设置最多保留小数位数,不足不补0。

      //百分比
      getPercentInstance()。静态方法,创建一个NumberFormat类的对象并返回其引用。该对象
指定百分比格式为系统预设格式。
      getPercentInstance(Locale)。静态方法,创建一个NumberFormat类的对象并返回引用。该对象的百分比格式由Locale来指定。

        NumberFormat f1= NumberFormat.getPercentInstance();
        System.out.println(f1.format(.235));//24%

        var f2=NumberFormat.getPercentInstance();
        f2.setMaximumFractionDigits(2);
        System.out.println(f2.format(.235));//23.5%
        
        
        //货币格式化
        getCurrencyInstance()。静态方法,建立一个NumberFormat类的对象并返回引用,该引用指定货币格式为系统预设的货币格式。
        getCurrencyInstance(Locale) 。静态方法,建立一个NumberFormat类的对象,并返回引用,该引用的货币格式由Locale指定。Locale类在java.util包中。

         var m=60;
        var f3=NumberFormat.getCurrencyInstance();
        System.out.println(f3.format(m));//¥60.00
        
        var f4=NumberFormat.getNumberInstance();
        f4.setMinimumFractionDigits(2);
        System.out.println(f4.format(123450.512346));//1,242,450.512

        var f5=NumberFormat.getCompactNumberInstance();
        System.out.println(f5.format(132424l));//13万

        DecimalFormat df=new DecimalFormat("#,###.##");
        System.out.println(df.format(100));//100

你可能感兴趣的:(java,jvm,开发语言)