Java基础语法

Java基础语法

一、二进制

​ 二进制,逢二进一,可以类比十进制。例如:1,10,101,1011,10111;

  1. 二进制转化为十进制一般使用加权展开式的方法

​ 例如:10111=1×20+1×21+1×22+0×23+1×2^4=23;

  1. 十进制转换为二进制:除2取余法

    例如:10转换为2进制数 image-20210503184644112结果为1010。

  2. 计算机中的存储单位:

    • 字节:1字节=8位,表示作为一个完整处理单位的8位2进制数码。
    • 位:表示一个2进制数码0或1,计算机存储处理信息最基本的单位。

二、变量

1.变量
  • 定义:系统微程序分配的一块内存单元,用来存储各种类型的数据。存储的数据可以改变,所以叫变量。
  • 变量相当于一个容器,用来存储数据
2.变量分类
  • 按所属数据类型划分

    1. 基本数据类型变量:数值型(byte,short,int,long,float,double)、布尔型(boolean)、字符型(char)

    2. 引用数据类型变量:类,接口,数组

  • 按被声明位置划分

    1. 成员变量:定义在方法或语句块内部的变量

    2. 局部变量:定义在方法外部、类内部的变量

      public class Demo{
          static int a;//局部变量
          public static void main(String[] args){
              int b;//成员变量
          }
      }
      
3.数据类型
image-20210503201332687
类型占用内存值范围(含边界值)默认值
整数型(int)4字节-231~231-10
端整数型(short)2字节-215~215-10
长整数型(long)8字节-263~-263-10
字节型(byte)1字节-27~27-10
浮点型(float)4字节0.0f
双精度型(double)8字节0.0d
布尔型(boolean)1字节true或falseflase
字符型(char)0字节‘\u0000~u\ffff’‘\u0000’
4.变量创建语法
  • 创建变量并初始化:数据类型 变量名= 初始化值;

  • 创建变量不初始化:数据类型 变量名;

  • 重新给变量赋值: 变量名 = 值;

    public class Demo3 {
    	public static void main(String[] args) {
    		//创建变量并初始化
    		int a = 0;
    		//创建变量不初始化
    		int b ;
    		System.out.println("a = " + a);
    		//重新给变量赋值语法:变量名 = 值;
    		a = 30;
    		System.out.println("a = " + a);
    	}
    }
    /*
    结果:
    a = 0
    a = 30
    */
    
5.float,long,char类型变量定义注意事项
public class Demo5 {
	public static void main(String[] args) {
		//1.float类型变量的定义
		//注意:直接写出的浮点数字,默认类型为double,会提示需要强制转换
		//解决:在浮点数后面加上f
		float f1 = 10.1f;
		//2.	long类型变量定义
		//注意:直接写出的整数,默认类型为int
		//解决:整型数字后面加l表示我们写的整型数据为long型
		long l1 = 22000000000l;
		//	char类型在使用时可以作为整数输出
		char c1 = 'A';
		System.out.println(c1);
		System.out.println((int)c1);	
	}
}
/*
	结果:
	A
	65
*/

三、数据类型转换

1.自动类型转换
  • 容量小的类型自动转换成容量大的数据类型

  • byte,short,int -> float ->long ->double
    byte,short,int 不会互相转换,它们三者在计算时会转换成 int 类型

2.强制类型转换
  • 容量大的类型转换成容量小的数据类型时,要加上强制转换符
3.注意事项
  • boolean类型不能转换成其他任何数据类型
public class Demo4 {
	public static void main(String[] args) {
		byte b = 127;
		int i = b;
		System.out.println(i);
		//强制类型转换:变量1 = (要强制转换的类型) 变量2;
		b = (byte)i;//强制转换有可能导致精度丢失
		System.out.println(b);
	}
}
/*
	结果:
	127
	127
*/

四、方法简述

1.方法定义
  • 一段特定的逻辑功能的封装。主要要素:权限修饰符,方法名,参数列表,返回值
2.定义格式

​ 权限修饰符 返回值类型 方法名称(参数列表){

​ 方法中封装的逻辑功能;

​ return 返回值;

​ }

但需要注意,我们在定义方法的时候还需要在权限修饰符与返回值类型中间加static关键字

public class Demo6 {
	public static void main(String[] args) {
		say();
		int s = sum(10,20);//定义整型变量s接收sum方法的返回值
		System.out.println("s = " + s );
	}
	//方法,变量命名规范:如果有多个单词,则从第二个单词开始首字母大写
	public static void say() {
		System.out.println("床前明月光,");
		System.out.println("疑是地上霜。");
		System.out.println("举头望明月,");
		System.out.println("低头思故乡。");
	}
	//带有返回值的方法定义
	public static int sum(int num1,int num2) {
		int x = num1 + num2;
		return x;
	}
}
/*
结果:
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
s = 30
*/
3.权限修饰符详解
访问修饰符同一个类同一个包不同包,子类不同包,非子类
private
默认
protected
public

五、运算符

1.算术运算符
运算符描述实例
+5+5=10
-5-4=1
*5*3=15
/除(整除)10/3=3
%取模(求余数)10%3=1
++自增(前,后)
自减(前,后)
  • 自增(自减)符说明(i++/++i)

  • i++:先使用i的值,然后再把i的值+1

  • ++i:先把i的值+1,然后再使用i的值

    public class test{
        public static void static(String[] args){
            int i = 1,j = 1;
            int a = i++;
            int b = ++j;
            System.put.println("a = " + a);//a = 1;
            System.put.println("b = " + b);//b = 2;
        }
    }
    /*
    结果:
    a = 1;
    b = 2;
    */
    
2.赋值运算符
运算符示例
=a=3;
+=a+=b ==>a = a+b
-=a-=b ==>a = a-b
*=a*=b ==>a = a*b
/=a/=b ==>a = a/b
%=a%=b ==>a = a%b
3.关系运算符
运算符示例结果
==4==4true
!=4!=4false
<3<4true
>3>4false
<=3<=4true
>=3>=4false
4.逻辑运算符
运算符示例结果
&false & truefalse
|false | truetrue
^(异或)true^falsefalse(相同为0,不同为1)
!(非)!truefalse
&&(短路与)false && truefalse
||(短路或)false || truetrue
  • 在计算机中默认0为假,非0位真
  • &&与&的区别:如果运算符两边均为一个boolean类型表达式,如果已经计算出了第一个表达式的结果是flase,则会直接给出结果false,不会继续计算后面的表达式,而&运算符则会继续计算后面的表达式,||与|和这个类似;
5.字符串连接运算符
public class Demo7 {
	public static void main(String[] args) {
		String text1 = "Hello";
		String text2 = "XinZhiKe";
		System.out.println(text1 + text2);
		String text3 = "Java" + 100;
		System.out.println(text3);
		System.out.println(text1 + 100);
	}
}
/*
结果:
HelloXinZhiKe
Java100
Hello100
*/
  • 如果’+'两边的任意一边有字符串,则拼接结果就会变成字符串。
6.三目运算符

X ? Y : Z

X 为 boolean 类型表达式,先计算 x 的值,若为 true,整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。

public class Demo8 {
	public static void main(String[] args) {
		//boolean结果表达式?值1:值2
		//如果boolean表达式结果为true,则返回值1,否则返回值2
		int a = 20;
		int b = 30;
		int c;
		c = a<b?a:b;
		System.out.println("c的值为:" + c);
	}
}
//输出结果:c的值为:20

六、变量作用域

1.成员变量
  • 在类体中定义的变量,在整个类中都有效,分为静态变量和实例变量

    class var{
        int x = 45;
        static int y = 90;
    }
    
  • x为实例变量,y为静态变量(类变量)。

  • 静态变量的有效范围可以跨类,打到这个那个应用程序内。对于静态变量,还能直接以"类名.静态变量"方式在其他类内使用

2.局部变量
  • 局部变量只会在当前代码块中生效。

  • 局部变量只在当期那定义的方法内有效,不能用于类的其他方法。

  • 当局部变量与成员变量名字相同时,成员变量在此方法中暂时失效。

    public class Val{
        static int times = 3;	//定义成员变量times
        public static void main(String[] args){
            int times = 4//定义局部变量times
                System.out.println("times的值为:" + times);
        }
    }
    //结果:times的值为:4
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值