java开发第一步就是学习相关知识,打牢基础是关键,下面就和小编我一起从java基础学起吧,一起加油!

java方向主要包括三大块:

java se 桌面开发

java ee web开发

java me 手机开发

java开发工具包括:

记事本

jcreator

jbuilder

netbean

eclipse(最多)

jdk:

jre(java运行环境)

java的工具,java的编译器:javac.exe java解释执行器:java.exe

java的类库(3600多类)常用150个

JDK API 1.6.0(帮助文档)

注:public:表示这个类是公共的,一个java文件中只能有一个public类

class:表示这是一个类

hello:类名(公共类的类名必须和文件名一致)

编译java文件:

编译xx.java  javac xx.java

执行xx.java程序  java xx

java虚拟机(jvm):字节码文件(.class)就会在java虚拟机中执行

<只需将.class文件交给别人而无需将.java文件交出>

public class

{

//一个主函数,相当于是程序的入口

public static void main(String args[])

{

//执行语句

//System.out.println("hello!");

int a=10;//定义一个变量,变量名a,它的值10

int b=20;

int result=a+b;

//输出结果

System.out.println("结果是"+result);

}

}

  

java基本数据类型:

整数类型(byte 一个字节8bit-128~127,short两个字节 ,int四个字节 ,long 八个字节)

小数(浮点)类型 (float ,double)

布尔类型 (真 ,假)

字符类型 (char 是两个字节,可以存放汉字, 一个char只能接收一个字符)

<结论:在java中,对char进行运算时直接当做ascii码对应的整数对待>

精度:byte<short<int<long<float<double

import java.io.*;

public class Demo1

{

   public static void main(String []args)

   {

     try{

     //输入流,从键盘接收数

      InputStreamReader(System.in);

      BufferedReader br=new BufferedReader(isr);

      //给出提示

      System.out.println("请输入第一个数");

      //从控制台读取一行数据

      String a1=br.readLine();

      System.out.println("请输入第二个数");

      String a2=br.readLine();

      //把String->float

      float num1=Float.parseFloat(a1);

      float num2=Float.parseFloat(a2);

      if(num1>num2)

      {

         System.out.println("第一个大");

       }

      if(num1==num2)

      {

         System.out.println("相等");

       }

      if(num1<num2)

      {  

         System.out.println("第二个大");

       }

     }catch(Exception e)

      {

        e.printStackTrace();

       }

   }

}

java三大流程控制:

顺序控制

分支控制:单分支,双分支,多分支

(条件表达式数据类型应当和case后的常量类型一致)

switch中的可用数据类型主要是:允许byte,short,int,char,enum(枚举)等

循环控制:for循环,while循环,do while循环

半个金字塔:

public class Demo3

{

   public static void main(String []args)

   {

     int lay=4;

     for(int i=1;i<=lay;i++)

      {

        //打印*

        for(int j=1;j<=i;j++){

          System.out.print("*");

         }

         //打出一个换行

         System.out.println();

       }

    }

}

金字塔:

public class Demo3

{

   public static void main(String []args)

   {

     int lay=4;

     for(int i=1;i<=lay;i++)

     {

       //找出空格规律

       //1->3  2->2  3->1  4->0

       for(int k=1;k<=i;k++){

         System.out.print(" ");

         }

       //打印*

       //1->1  2->2  3->5 4->7

       for(int j=1;j<=(i-1)*2+1;j++){

         System.out.print("*");

       }

        //打出一个换行

         System.out.println();

        }

       }

  }

java面向对象编程-类与对象

类名首字母大写

类是抽象的,对象是具体的。类是对象的模板,对象是类的一个个体、实例

类的定义:

package 包名;

class 类名 extends 父类 implements

接口名{

成员变量;

构造方法;

成员方法;

}

类-类

类的成员方法-声明

public int test(int a);/*方法声明*/

(访问修饰符+数据类型+函数名+(参数列表);)

类的成员方法(函数)-特别说明

1.方法的参数列表可以是多个

类的构造方法:是类的一种特殊方法,主要作用是完成对新对象的初始化

特点:

1、方法名和类名相同

2、没有返回值

3、在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化

类的构造方法小结:

构造方法名和类名相同

构造方法没有返回值

主要作用是完成对新对象的初始化

在创建新对象时,系统自动调用该类的构造方法

一个类可以有多个构造方法

每个类都有一个默认的构造方法

this的重要性:

public class Demo3_1

{

   public static void main(String []args)

   {

    Person p=new Person(dog,23,"wang");

    p.showInfo();

    }

}

//定义一个人类

class Person

{

  int age;

  String name;

   public Person(int age,String name)

   {

     //可读性不好

       this.age=age;

       this.name=name;

     }

     //显示人名字

     public void showInfo()

     { 

         System.out.println("人名是:"+name);

      }

   }

类变量

静态变量:

public class Demo3_2

{

  static inti=1;

  static

  {

   System.out.println("a");    

//该静态区域块只执行一次

     i++;

   }

   public Demo3_2()

   {

     System.out.println("b");

     i++;

    } 

    public static void main(String []args)

    {

       Demo3_2 t1=new Demo3_2();

       System.out.println(t1.i);

       Demo3_2 t2=new Demo3_2();

       System.out.println(t2.i);

     }

}

类方法:

//学生

class Stu

{

   int age;

   String name;

   int fee;

   static int totalFee;

   public Stu(int age,String name,int fee)

   {

     this.age=age;

     this.name=name;

     totalFee+=fee;

    }

    //返回总学费[加static表明这是一个类方法(静态方法)]

    //java中规则:类变量原则上用类方法去访问

    public static int getTotalFee()

    {

      return totalFee;

     }

  }

注意:类方法中不能访问非静态变量(类变量)

使用:类名.类名方法  或者  对象名.类方法名

类变量与实例变量区别:

加上static称为类变量或静态变量,否则称为实例变量

类变量是与类相关,公共的属性

实例变量属于每个对象个体的属性

类变量可以通过类名.类变量名直接访问

JAVA(1)的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. application.xml dubbo报错解决方案

  2. 单独部署activemq-web-console (转载)

    activemq-web-console的默认使用方式是通过在activemq.xml中导入jetty.xml配置一个jetty server来实现的. 其实activemq-web-console完 ...

  3. CASthesis 模板编译的问题

    使用CASthesis模板(https://github.com/xiaoyao9933/UCASthesis,介绍里说这个版本是在ThuThesis的基础上修改的),自带的说明如下. 使用须知 == ...

  4. react验证码倒计时

    <!DOCTYPE html> <html> <head> <script src="../build/react.js">< ...

  5. Java 入门(一) - 环境变量

    Win 7 X64环境 计算机(右键)-> 属性 -> 高级系统设置 -> 环境变量1.新建系统变量 : JAVA_HOME C:\Program Files (x86)\Java\ ...

  6. css3各个属性的兼容

    1.transition:IE10. Firefox.Opera.Chrome支持: Safari支持替代的-webkit-transition属性: 2.animation: IE10.FIrefo ...

  7. Openwrt 编译报错:rootfs image is too big解决方法

    修改: tools/firmware-utils/src/mktplinkfw2.c static struct flash_layout layouts[] = { { .id = "8M ...

  8. 【Python扩展阅读【转】】字符串的方法及注释

      capitalize()   把字符串的第一个字符改为大写   casefold()   把整个字符串的所有字符改为小写   center(width)   将字符串居中,并使用空格填充至长度wi ...

  9. win8.1安装Matlab7.0的兼容问题

     Matlab7.0安装完成后打开就立即关闭,此时右键点击MATLAB7.0快捷方式-"用图形处理器运行"-"更改默认图形处理器",将"集成图形&qu ...

  10. Android中Activity的生命周期

    简介: 这个基本是必问的问题了,说一下你对Activity生命周期的理解,呵呵… onCreate, onStart, onResume, onPause, onStop, onDestroy, on ...