JAVA笔记_(Day02)

java语言基础组成

关键字

赋予了特殊含义的单词。

class

标识符

在程序中定义的一些名称。比如 类名(单词首字母大写)。由a-z 0-9 _ $组成,数字不可以开头,不可以使用关键字。

注释

注解说明解释程序的文字
作用
1.对程序进行说明
2.调试程序
注意:多行注释中不要嵌套多行注释

//
/*   */
/**  */  文档注释,java特有,用java.doc运行,生成一个html文档

举例:

/*
需求:写一个hello world程序,将hello world字样显示屏幕上。
思路:
1.找个编译器
2.用java语言,写个程序
3.这个程序需要运行,并具备显示的功能
步骤:
1.定义一个类,通过class完成
2.要让类运行,需要主方法
3.显示功能可以通过输出语句实现
代码:
测试:javac java
*/
//1.用class定义类
class Demo2
{
//2.类中定义主方法
      public static void main(String[] args)
      {
            System.out.println("hello world");
//3.主方法中定义输出语句
      }
}

常量

不能改变的数值

分类:

整数常量:正数,负数,0;
小数常量;
布尔型常量,较为稀有,只有两个数值 true false;
字符常量:字母,数字,符号。用‘’括起来,只能放一个(中文,字母,数字);
字符串常量:用“”括起来,内容不限;
null常量,只有一个数值就是null

进制

对于整数:有四种表现形式
二进制
八进制:三个一组,以0开头表示
十六进制:四个一组,以0x开头表示

十进制转为二进制 除以2取余数,倒过来写
二进制转为十进制 乘以2的次幂
8bit=1byte

负数的二进制就是正数的二进制取反+1
负数的二进制最高位都是1(8位数)
最高位数是符号位
二进制位都是1,对应的十进制是-1

变量

内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化

定义变量的原因:用来不断存放同一类型的常量,并可以重复使用
使用变量注意:变量的作用范围(一对{}之间有效);初始化值

定义变量的格式:
数据类型 变量名=初始化值
注:格式是固定的,记住格式,以不变应万变。

byte取值范围:-128~127,8个二进制位
short:2个8位
int:4个8位
long:8个8位
float:4个字节 单精度
double:8个字节 双精度
char在内存中占两字节

long l=12345678900l;//对于过大的数,加l或者 long long
float f=2.3f;//小数后加f可以表示单精度存储

不同数据类型之间是可以一起运算的,因为“自动类型提升”而提升为空间大的类型,前提是变量都被赋予了值。
比如:

byte b=3;
int x=5;
x=x+b;
System.out.println("x="+x);//

但下面这种情况不能自动类型提升

byte b=3;//右边是一个常量,3在byte范围内,因此可以将3赋予byte类型的b中
b=b+1;//右边是一种变量,1默认为int,所以无法自动提升
System.out.println("b="+b);//所以报错

如果要将上述代码改成正确的,需要用强制类型转换:

byte b=3;//
b=(byte)(b+1);//强制转换
System.out.println("b="+b);//
char ch=97;
System.out.println("ch="+ch);//输出不报错。但结果为“ch=a”,因为对照的是ASCII编码表。

算术运算符

加减乘除模

/*
+  -  *  /  %(取余数)  
应用:
任何数模以2,结果不是0就是1,用于开关的切换
任何数模以一个数,结果都比后者这个数小(1023%10  结果余3,)
*/
class OperateDemo
{
    public static void main(String[] args)
    {
    int x=2810;
    System.out.println("x="x/1000*1000);//运行结果为2000
    System.out.println("x="3%-5);//运行结果为3
    }
}

自增运算++

/*
++:自增,对原有的数据进行+1
*/
class OperateDemo
{
    public static void main(String[] args)
    {
    int a=3;
    
    //a++;//a=a+1;
    //System.out.println("a="+a);//运行结果为4    
    
    //++a;//a=a+1;
    //System.out.println("a="+a);//运行结果也为4,运算单独存在时,++放左放右是没有区别的
    
    int a=3,b;
    b=++a;
    System.out.println("a="+a+",b="+b);//结果a=4,b=4

    int a=3,b;
    b=a++;//先算右边,再算左边。a的值临时被存储,a++,然后临时的值被赋予b;
    /*顺序
    temp=a;先将a进行临时存储
    a=a+1;自增
    b=temp;将临时的值赋值给b
    */
    System.out.println("a="+a+",b="+b);//结果a=4,b=3 
    }
}

连接符+

字符串+ 变成一个更大的字符串

  System.out.println("5+5="+5+5);//结果5+5=55
   System.out.println("5+5="+(5+5));//结果5+5=10

赋值运算符

/*
=  +=  -=  /=   %=
*/
int a=3;//右边赋给左边
a+=4;//将左右两边的和赋给左边,a=a+4

练习题

short s=4;
s=s+5;//编译错误,因为右边加完的值 无法判断该值在short范围内,容易丢失精度
s+=5;//+=是赋值运算符,编译通过,会做自动转换,不丢失精度

比较运算符

比较完的结果要么为true,要么为false

// <  > ==   !=
System.out.println(3>4);//

逻辑运算符

用来连接boolean型表达式的

&与
|非
^异或   两边不同为true
|非
&&短路与   如果左边的为错误,那么右边的就不用判断了
||短路或

int y=4
y>3&y<6;//true
y>3&&y<6;//true

int y=1
y>3&y<6;//false
y>3&&y<6;//false

注意:
&与&&的区别:
&:无论左边结果是什么,两边都参与计算
&&:当左边为false,右边不参与运算

|与||的区别:
|:两边都参与运算
||:当左边为true,右边不参与运算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值