русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор switch ипринятиерешений


Дата добавления: 2015-06-12; просмотров: 605; Нарушение авторских прав


 

Оператор switch иногда используется   switch   if.  
  как альтернатива    
Значениепеременнойстоящейпослеоператор case   ,    
а     вычисляется,  
и программа переходит только к одному из     :блоков аргумент  
которогосовпадаетсрезультатомэтоговычисления        

public static voidmain(String[] args){

 

ReportCard rc = new ReportCard();

 

charyourGrade = rc.convertGrades(88);

 

switch (yourGrade){      
      :    
  case 'A' );  
  System.out.println("Превосходнаяработа!"  
  break;    
      :    
  case 'B' );  
  System.out.println("Хоработаошая!"  
  break;    
      :    
  case 'C' );  
  System.out.println("Надоподтянутьзнания!"  
  break;    
             

ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек          
                     
                     
    :                
  case'D'       );        
  System.out.println("Будь посерьёзнее!"        
} break;                
                   
}         break в конце каждого      
Не забудьте написать ключевое слово case  
      switch       break    
блока, чтобы после завершения выполнения его кода, произошёл  
выход из оператора   . Если вы не напишете     , то  

напечатаются все четыре строки, не смотря на то, что значение переменной yourGrade имееттолькооднозначение.



 

Раньше оператор switch имел ограничение – переменная, которая в негопередаётся , должна была иметь один из следующихтипов :

char int byte short enum

 

Начиная с Java 1.7 , тип String так же может использоваться в операторе switch. Кроме того , благодаря автобоксингу, который появился в Java 1.5 могут использоваться типы обёртки: Character,

 

Byte, Short,и Integer.

 

Какдолгоживутпеременные?

 

Внутри метода convertGrades() класса ReportCard объявляется переменная grade. Переменная , объявленнаявнутрилюбогометода называется локальной. Это означает, что она существует и доступна только внутри этого метода . После того, как мет од выполнился, локальнаяпеременнаяавтоматическиудаляетсяизпамяти.


ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек
     
     

Программистытакжеиспользуюттермин областьдействия( scope) , чтобы задать сколько времени та или иная переменная будет существовать.

 

Еслипеременнаядолжнабытьисп ользована несколькимиметодами,

  атрибуткласса( member variable)       Fish, currentDepth  
тоеёнужнообъявитьвневсехметодов. Вклассе  
это         . Срок жизни этих переменных  
    атрибутамиэкземпляракласса( instance variables)  
определяется сроком жизни объекта Fish, поэтому они еще  
называются                   . Такие  
переменныемогутсовместноиспользоватьсявсемиметодамикласса,,  
      выражении System.out.println()      
и в некоторых случаях , даже быть доступными для других классов.  
Например, в         System . используется  
переменная out, котораяобъявленавклассе       System, если  
Минуточку! Аразвеможно использоватьатрибуткласса  
мынесоздавалиэкземпляраэтогокласса? Даможем,еслипеременная  
объявлена с помощью ключевого слова   static (статический). Если  
объявлениеатрибутаклассаилиметоданачинаетсясослова static, то  
не обязательно создавать экземпляр класса , чтобы их использовать.  

Статические атрибуты класса используются для хранения значений общихдлявсехэкземпляровкласса.

 

Например, метод convertGrades() может быть объявлен в классе ReportCard как статический,потомучтовреализацииэтогометодадля чтения и записи не используются атрибуты , специфичные для конкретногоэкземпляракласса. Статическийметод sqrt() изкласса Math можновызыватьвоттак :

 

doublesquareRoot = Math.sqrt(4.0);

 

 

Специальныеметоды:конструкторы

 

В Java длясозданияэкземпляровклассовивыделенияподнихпамяти используетсяоператор new, например:

Fish myFish = new Fish(); Fish говорят о том, что у этого класса  
Круглые с кобки после слова  
  конструкторами( constructors)    
определен метод Fish(). Такиесть,существуютспециальныеметоды,  
которыеназываются     ,иуэтихметодов  
естьследующиеособенности:      

ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек
     
     

Конструкторывы зываютсятолькоодинразприсоздании объектавпамяти .

 

Онидолжныназыватьсятакже , какназываетсякласс.

 

Ониничегоневозвращают,ненужнодажеписатьслово void всигнатуреэтогометода.

 

Уклассаможетбытьнесколькоконструкторов.Если выненапис алини

  пустойконструкторпоумолчанию (default no
одногоконструктора,вовремякомпиляции Java автоматическисоздаст
argument constructor)    
завастакназываемый    
. Вот почему компилятор никогда не будет
“ругаться” на выражение new Fish(), даже если в классе Fish вы не
объявилиниодногоконструктора.  

Восновном,конструкторыиспользуютсядляприсваиванияначальных значенийатрибутамкласса,кпримеру , следующаяверсиякласса Fish включает конструктор с одним аргументом , который задаё т начальное значение атрибута currentDepth равным значению аргументаконструктора.

 

public classFishextendsPet {

 

intcurrentDepth;

 

Fish(int startingPosition){

 

currentDepth=startingPosition;

 

}

 

}

 

Теперькласс FishMaster можетсоздатьэкземплярк ласса Fish изадать начальное положение рыб ки. Ниже создаётся экземпляр класса Fish, который изначальнопогружаетрыбку вморенаглубин у 20метров:

 

Fish myFish = new Fish(20);

 

Для класса, в котором был определён конструктор с аргументами, конструкторп оумолчаниюсоздаватьсяавтоматическинебудет. Если вамнеобходимконструкторбезаргументов напишитеего.

 

Ключесловоеthis

 

Ключевое слово this полезно, когда нужно сослаться на экземпляр классавнутриобъектаэтогокласса.Рассмотрим следующийпример :


ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек
     
     

 

classFish {

 

intcurrentDepth ;

 

Fish(int currentDepth){ this.currentDepth = currentDepth;

}

 

}

 

Здесь идентификатор this

помогает избежать конфликта имён,например this.currentDepth ссылается на атрибут класса currentDepth, в то время как currentDepth ссылается на значение аргумента конструктора.

 

Другими словами, экземпляр класса Fish указывает на самого себяспомощьюслова this.

    this, вы  
  Как передаватьданныемеждуклассами  
Другой важный пример использования ключевого слова    
встретитев главе6в секции     .  


<== предыдущая лекция | следующая лекция ==>
Использование else if | Массивы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.434 сек.