Java基本语法 2

1.数据类型、类型转换

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

类型名称关键字字节数范围
整数字节型byte1-128~127
整数短整型short2-32768~32767
整数整型int4-2147483648~2147483647
整数长整型long8-2的63次方~2的63次方-1
浮点数单精度float41.4e-45f~3.4e+38f
浮点数双精度double84.9e-324~1.8e+308
布尔型boolean1true或false
字符型char2
            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()方法用于创建格式化的字符串以及连接多个字符串对象。

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

 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

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

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

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

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

 //格式化时间
 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 %<tT%n",c);
 System.out.printf("%tF %<tT%n",d);
 System.out.printf("%tF%n",d);
 System.out.printf("%tT%n",d);
 System.out.printf("%tA %n",d);
 //格式化输出年月日时分
 System.out.printf("%tY年%<tm月%<td日%n",d);

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

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值