Java基础学习第一章

前言

大家好,这是我第一次写博客,自己java技术也一般,若是文中有不对的地方,欢迎指出,核实后我再加以更正

第一章

初学者需要自己从网上下载eclipse和jdk安装包,还需要配置环境变量,这里我就不一一描述了。

关键字

java中有48+2个关键字,都有其各自的使用方法,一会都会一一讲到,大家只需要了解有这么多关键字,不需要死记硬背,这些关键字也全都是小写:

在这里插入图片描述

虽然goto和const在java中被保留下来,但已经不执行任何实际方法了

标识符

标识符的命名也是有许多规范要求的,命名有以下两种情况
1.大小写字母开头
2.下划线("_")和美元符号("$")开头

注意事项

1.不能用中文作为标识符名称
2.不能使用关键字作为标识符
3.标识符中不能出现空格
4.不能以数字开头
5.不能出现除"_“和”$"之外其他任何特殊符号
例如:

        (正确示范)
        int A = 10;  
		char b123 = 'b';
		double $ = 10.00;
		(错误示范)
		byte  123b = 12;//不能以数字开头
		short   %ab = 36;//不能以不能出现除"_"和"$"之外其他任何特殊符号
		String   str* = "msg";//不能以不能出现除"_"和"$"之外其他任何特殊符号

变量与数据类型

变量

在java中用于表示数据的最基本单元;可变的数据量,如:一个人的身高,明天是否下雨。

变量的语法

数据类型 变量名称 = [初始值]

	int  a = 10;
	double b = 3.14;
	char c = 'c';
	boolean d = true;

变量的分类

全局变量

成员变量:一般在类结构中直接定义的变量,称之为全局变量(成员变量),作用域为整个类中
例:

public class Demo {
/**成员变量(全局变量) alt+up/down 上下移动代码 */
int i = 10;
String name;
public void n(){
//成员变量可以在类中的任意普通方法(实例方法)中被使用
	System.out.println(i);
	System.out.println(name);
}
public void m(){
	System.out.println(name);
	}
}

本例中, iname 均为全局变量,所以在该类的任何普通方法中均可使用(静态方法中无法使用,因为静态方法中只能使用静态变量)

局部变量

局部变量:一般在方法或者其他语句块(分支语句,循环语句,游离块)中声明的变量,作用域仅仅在声明区才能生效

public class Demo{
/*
* 方法的参数i,以及方法内部定义的j都是局部变量,作用域仅仅为当前方法内部
*/
public void m(int i){
	int j = 10;
	}
public void n(){
	System.out.println(j);//错误 j无法识别
	}
}

本例中,j局部变量,作用域只在m方法中,所以它只能在m方法中使用,在n方法中无法调用。

注意事项

方法中的参数属于局部变量
不允许在静态的方法中调用非静态的变量或变量
成员变量(全局变量)在未初始化时,可以使用,因为在类加载时会自动为成员变量赋上初始值
局部变量在未赋值(未初始化)时,是不允许被使用的

数据类型

Java是一门强类型语言,即任何的变量在声明时必须显式的指定数据类型,变量的类型一旦确定,则无法修改,Java中数据类型主要分为以下两大类:

1.基本类型
2.引用类型

基本数据类型(简单数据类型)

  • 整数类型

    • byte(1字节=8bits)
    • short(2字节=16bits)
    • int(4字节=32bits)Java中默认的整数是int
    • long(8字节=64bits)long类型在赋值时必须在数据值末尾追加一个“L”(小写“l”容易与数字1混淆,所以推荐追加大写“L”)
  • 浮点类型

    • float(4字节)为float类型赋值时,必须在值末尾追加“f”或“F”
    • double(字节)double是java中的默认浮点类型
  • 字符型

    • char**在进行赋值时只能赋值一个字符,并且使用单引号(如:‘a’,‘啊’)
  • 布尔型

    • boolean (1 bits) boolean在内存中只占一个二进制位,所以取值只能是true或false(不能使用0或1)

例:

 	byte a = 12;
 	short b = 128; 
	int c = 1028;
	float d =  1.2f;
	doubl e = 5.02;
	char f = 'A';
	boolean = true;

引用数据类型

Java中的数据类型除了8个基本数据类型除外,其余的数据类型都是引用数据类型,引用数据类型类似于C/C++中的指针,在Java中引用数据类型通常表示为对一个对象的引用,通过该引用可以获取到对象的相关信息,以及调用相关方法。声明引用类型变量是,系统只为该变量分配引用空间,并未创建一个具体的对象
Java中引用类分为以下几类
1.类的引用(Class)
2.数组的引用(Array)
3.接口的引用(Interface)
例如

public class Student{
   String name;
   String sex;
   int grade;
   int age;
   Student(String _name, String _sex,
   int _grade, int _age){
   name = _name;
   sex = _sex;
   grade = _grade;
   age = _age;
   }
}

测试

Student s = null;
String name = s.getName();//报错,空指针异常
s = new Student ("Lisa","Male",1,18);
String name1 = s.getName();//返回”Lisa”
Student s1 = s;

以上程序内存分配图

在这里插入图片描述

基本数据类型转换

在实际问题中,我们经常会碰到基本数据类型的转换,有以下两个特征

  • 小转大,直接转
  • 大转小,需强转
    例:
	char c1 = 'A';
	char c2 = 'B';
	//隐式转换
	int i = c1;
	System.out.println(i);
	System.out.println(c1 + c2);
	//强制转换
	byte b = (byte)i;
	//short s = (short)i;
	long len = i;
	System.out.println(b);
	//算术运算时,系统会自动将小类型转换为大类型计算
	short s = 10;
	s = (short)(s + 10);

在基本数据类型进行转换时,一定要注意基本数据的范围,避免数据溢出造成的数据丢失!

结束语

今天就讲到这里,希望初学者能将以上内容熟记于心,为后面的内容打下坚实基础,大家一起加油!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值