JAVA新手入门--基础知识篇

一.前期准备

   学习java前,我们首先得先有个java环境,这样才可以让我们的java代码跑起来丫。小编在这里对初学者建议呢下载个Eclipse,直接去官网下载就可以了,完全免费开源的呢!这里也有教程链接:Eclipse最新最简最详细安装教程_rothschildlhl的博客-CSDN博客_eclipse安装教程

  学习java前要有对java最基本的认识,那就是java语言是一种面向对象的语言,而与我们学过的c语言是恰恰相反(面向过程的语言)。java语言提供类,接口和继承等原语,为了简单起见,只支持类之间的单继承,但是支持接口之间的多继承,并支持类与接口之间的实现机制。java语言全面支持动态绑定,而c++语言只对虚拟函数的使用动态绑定。(前面的听不懂也没有关系,毕竟是才开始学习,最重要的是记住JAVA是纯面对对象的程序设计语言,且对大小写敏感

二.基础语法的学习   

JAVA主类结构 

<1> 

         上面我们提到java是门面向对象的程序设计语言,java中用类---关键字class来定义对象的类型的(简单来说就是用class来描述“这类对象长什么样子”)下面我们直接来看个例子

       创建一个包含我们名字的类

package cn.itcast.hello;
//这是一个名字为FirstClass的类
public class FirstClass {
//类中的内容
	private String myname;
}

  当然这个类的程序显然是没法运行的。如果要让这个类成为一个能够独立运行的程序,那么这个类必须包含一个名为main()的方法(c中也叫主函数),此时这个类也就被称为了主类。一个类只能有一个主方法,但是里面可以有多个方法。

package cn.itcast.hello;
//这是一个名字为MaintClass类,同时也是主类
public class MainClass {
//类中的内容
	private String myname;
	public static void main(String[]args) {
		System.out.println("我是主方法");
	}
	private void oneMethod() {
		System.out.println("我也是一个方法,但不是主方法");
	}
}

<2>JAVA包

  我们在写程序的时候会发现代码开始总是从package开始----这就是java包,并且每个java文件只能有一个包声明。但在开发时候我们也会用到其他包里面的内容,这时候我们就要引入该包的文件,就要用到了关键字import(这里简单了解一下 后面会深入学习)

import com.hello.java.MainClass//指定某个类文件
import com.hello.java.*//指定这个包下的所有类文件

<3>访问权限修饰词

    访问权限主要就是三个关键字,上面代码大家也可以看见定义无论是方法还是变量总以public/protected/private开头

   公开访问权限----public 文件中所有地方均可调用

   继承访问权限protected 类内和子类可以调用

   私有访问权限private 只有在类内可以使用

<5>编写主方法   

  上面提到一个类想要独立运行,则必须有他的主方法。这里再次强调一下每个java应用程序都必须有且仅有一个main主方法。 mian()主方法必须被声明为public static void mian并且入参为String[]args或String args[]。  这里给大家解释一下为什么要讲访问权限设置为public:是因为每个java程序在运行时都要创建一个java虚拟机(JVM)实例,由JVM从外部调用main方法,所以main方法的访问权限当然要是public。

基本数据类型

<1>整数类型 :byte short int long

                byte:-128 到127 空间占用int类型的1/4    1个字节

                short:-32768-32767 空间占用int类型1/2    2个字节

                int: java默认的整数类型,直接使用数字为int型  4个字节

                long:  8个字节(赋值变量后面加L/l  long m=1184L

   系统默认的整数都采用十进制,那么如何表示其他进制的数字呢:

默认的整形数据采用十进制

      在数字前面加数字0表示八进制  如 0781

      在数字前面加0x,表示十六进制 如0x781

      在数字前面加0b,表示二进制   如0b1110

package cn.itcast.hello;

public class NumberIntro {
 public static void main(String[]args) {
	 int a=0b00000011;//二进制数字
	 int b=1010;//十进制
	 int c=01234;//八进制
	 int d=0xF1E3;//十六进制
	 System.out.println("二进制输出:"+a);
	 System.out.println("十进制输出:"+b);
	 System.out.println("八进制输出:"+c);
	 System.out.println("十六进制输出:"+d);
	 
 }
}

不同类型进制的输出:

         二进制输出:Integer.toBinaryString(变量)

         八进制输出:Integer.toOctalString(变量)

         十六进制输出:Interger.toHexString(变量)

package cn.itcast.hello;

public class NumberIntro {
 public static void main(String[]args) {
	 int a=0b00000011;//二进制数字
	 int c=01234;//八进制
	 int d=0xF1E3;//十六进制
	 System.out.println("二进制输出:"+Integer.toBinaryString(a));
	 System.out.println("八进制输出:"+Integer.toOctalString(c));
	 System.out.println("十六进制输出:"+Integer.toHexString(d));
	 
 }
}

<2>浮点类型

float:声明的变量赋值必须加个F/f 否则按默认double处理  如:float m=1.12F   占4个字节

 double:java默认的浮点类型   占8个字节

<3>字符类型

char 占4个字节

  当数字使用前面加(int) 为强制转换

<4>布尔类型

 boolean      只有false /true            占1个字节 默认值是false

<5>特殊值null 

null是一种特殊值 意为“等于0”  “无价值”等等

数据类型转换

   java中的类型转换分为两类:自动转换强制转换

<1>自动转换 采用的机制是由低向高转换

   1.byte可以转换为:short、int、long、float、double

   2.short可以转换为:int、long、float、double

下面大家就可以依次类推

char可以转换为:int、float、double

<2>强制类型转换

强制类型转换只需要在变量前加个()括号里面的内容为想要转换的变量即可,上代码!

package cn.itcast.hello;

public class NumberIntro {
 public static void main(String[]args) {
 int Intnumber=8;
 byte bytenumber=(byte)Intnumber;
 char charNumber=(char)88;
 System.out.println("由int强制转化为byte:"+bytenumber);
 System.out.println("将88整数强制转化为char:"+charNumber);
	 
 }
}

常量

 下面我们来讲一下Java中的常量:

  常量是一种预见定义、不可以在后期运行时再做修改的固定的值。

  常量命名一般由大小写字母加下划线组成。常量可以是全局的(可以在一个了类文件中随处使用,也可以在其他类文件中引用),也可以是局部的(只能在一个方法中定义使用)。

 JAVA中的常量一般会使用final关键字来定义。具体格式如下:

  (static)final+数据类型 +常量名称+数值;

下面讲一下一个重灾区,那就是常量重名的问题:常量一旦被定义,在同一作用域下不能再次修改或重新定义(重新定义也不会在程序中生效)

package cn.itcast.hello;

public class ConstantDefination {
 private static final int m=10;
 private static final int m=6;//这样再次定义修改 会报错
	public static void main(String[]args) {
		
        System.out.println(m);
  }
}

不同的作用域重名常量在java中并不会报错,是因为jvm在调用该常量时,查找顺序是先找同意作用域中的常量,再找上一作用域中的常量,直到找到为止。

package cn.itcast.hello;

public class ConstantDefination {
 private static final int m=10;
	public static void main(String[]args) {
	   final int m=6;//这样再次定义修改 就会报错
        System.out.println(m);
  }
}

好了,这期就先写到这里吧,感谢大家的观看和学习,如果我有哪里不对的地方,还请大家评判并帮我指出错误,谢谢大家

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值